Show page source of 「インテル_コンパイラー」で高速に動作するバイナリを作成しよう #49286

== 「インテル コンパイラー」で高速に動作するバイナリを作成しよう ==


[[Thumb(a6b24cd245ec6d5a1bf5648d1b972733.gif, float=right)]]

 インテルが開発している「インテルコンパイラー」は、インテルCPUに最適化された高速なバイナリを生成するということで知られている。そのため、大量の数値計算が必要とされるシミュレーションの分野や3D CGなどの画像処理、科学技術分野などのソフトウェアで多く採用されている。

 しかし、「インテルコンパイラーはパフォーマンスが高い」とだけ言われても、なかなかピンと来ない人も多いのではないだろうか。また、一般的なソフトウェアでも性能向上の恩恵に預かれるのかも興味深いところだろう。

 そこで本特集では、このインテル コンパイラーでコンパイルされたソフトウェアについてそのパフォーマンスを調査するとともに、インテル コンパイラーでのコンパイルテクニックや、性能解析ツール「インテル VTune パフォーマンス・アナライザー」を使ってパフォーマンスチューニングを行う方法なども解説する。

 なお、本特集で紹介しているインテル コンパイラー製品やインテル VTune パフォーマンス・アナライザーは、[https://www.xlsoft.com/jp/products/download/intelj.html?sf0903 30日間利用できる無料評価版]が用意されている。記事中のコードは評価版でもそのまま利用できるので、ぜひダウンロードして手元でその実力を確かめてほしい。

{{{ html
<div class="lead">
}}}
=== [インテル_コンパイラーの実力を測る――インテル_コンパイラー版MySQLは本当に速いのか?]

 Linux World 2005で発表された「Improving MySQL Server Performance with Intel C++ Compiler」というレポートでは、インテルコンパイラーを利用することでMySQLのパフォーマンスを最大2.55倍向上できた、と報告されている。しかし、本当にこのような大幅なパフォーマンス向上が期待できるのだろうか? 本記事では、インテル コンパイラーでコンパイルされたMySQLバイナリを使用し、本当にこのようなパフォーマンス向上が見られるのか、比較・調査を行う。

=== [インテル_コンパイラーでオープンソースソフトウェアをコンパイルしよう] 

 インテルの「インテル C++ コンパイラー」は高速なバイナリを生成するということで知られている。しかし、インテル C++ コンパイラーはVisual C++やGCCとの互換性を備えているものの、完全に同一というわけではない。そこで、有名なオープンソースソフトウェアについてインテル C++ コンパイラーでのコンパイルを行い、どの程度の修正でコンパイルが可能なのか、またそのパフォーマンスはどうなのか、調査してみよう。

=== [パフォーマンス解析ツール「VTune」でアプリケーションを高速化]

 作成したプログラムのパフォーマンスに問題がある場合、性能解析ツールを利用して問題点を分析するのが一般的だ。性能解析ツールには様々なものがあるが、その中でも高機能なものとしてインテルが開発する性能解析ツール「インテル VTune パフォーマンス・アナライザー」がある。本記事ではパフォーマンスの問題が発見されたプログラムを対象に、このインテル VTune パフォーマンス・アナライザーを使用して問題点の調査とパフォーマンスの改善を行う例を紹介する。

=== [インテル_コンパイラーでビルドする高速Firefox] 

 近年、そのパフォーマンス競争が盛んに行われている分野として、Webブラウザが挙げられる。たとえばSafari 4のベータ版は自らを「世界最高速」とうたうなど、それぞれのWebブラウザが自身の高速性をアピールしているが、それではWebブラウザのコンパイルにインテル コンパイラーを利用することでパフォーマンスを向上できないだろうか? そこで、Firefoxの最新版であるFirefox 3.1 ベータ2について、Windows環境でインテル コンパイラーを使用してコンパイルし、そのパフォーマンスを調査してみた。

{{{ html
</div>
}}}