== コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る == 「よりパフォーマンスの高いプログラムを作成するにはアセンブラを駆使すべし」という話を聞いたことがある人も多いだろう。これは、C/C++言語で記述されたプログラムには冗長な部分があるため、ノウハウを持つプログラマがアセンブラでチューニングしたプログラムの方が高いパフォーマンスを得られる、ということであった。しかし、現在では必ずしもこのことは当てはまらなくなっている。その理由は、コンパイラの進化と、CPUおよびPCアーキテクチャの複雑化にある。 最近のコンパイラのほとんどは最適化機能と呼ばれる、ソースコードをより効率の良い形に自動変換する機能を備えている。基本的な最適化の例としては、プログラム内で実際には使われていない処理の省略や、冗長なforループの自動展開などが挙げられるが、最近ではこのほかにも高速に処理を行えるようプログラムの実行順序を入れ替えたり、頻繁に呼び出される関数を自動的にインライン展開する、といった高度な最適化機能を持つコンパイラも増えている。 * [[http://sourceforge.jp/projects/test11/wiki/!pdf/コンパイラを変えるだけでパフォーマンス向上、インテル_コンパイラーの実力を見る_all.pdf 全ページをPDF形式でダウンロード]] * 記事個別ページ: * [コンパイラを変えるだけでパフォーマンス向上、インテル_コンパイラーの実力を見る_p1 コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る(1/5)] * [コンパイラを変えるだけでパフォーマンス向上、インテル_コンパイラーの実力を見る_p2 コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る(2/5)] * [コンパイラを変えるだけでパフォーマンス向上、インテル_コンパイラーの実力を見る_p3 コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る(3/5)] * [コンパイラを変えるだけでパフォーマンス向上、インテル_コンパイラーの実力を見る_p4 コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る(4/5)] * [コンパイラを変えるだけでパフォーマンス向上、インテル_コンパイラーの実力を見る_p5 コンパイラを変えるだけでパフォーマンス向上、インテル コンパイラーの実力を見る(5/5)]