インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® Cilk™ Plus は古い機能 (非推奨) です。代わりに、OpenMP* またはインテル® TBB を使用してください。詳細は、「インテル® Cilk™ Plus の代わりに OpenMP* またはインテル® TBB を使用するためのアプリケーションの移行」 (英語) を参照してください。
ボトルネックを見つけ、理解するためには、パフォーマンスを測定する必要があります。プログラムへの変更は、たとえ小さなものであっても、パフォーマンスに大きく影響することがあります。パフォーマンスをチューニングするための唯一確実な方法は、できるだけ多くの異なるシステムで時間を測定することです。どのようなツールや手法を使用してもかまいませんが、正しく測定された結果によってのみ、最適化が効率的かどうかを判断できます。
パフォーマンスの測定結果を正しく理解するためには、注意事項とパフォーマンス例外の可能性について考慮する必要があります。注意事項のほとんどは簡単なものですが、実際には見落とされがちです。
実行中のほかのアプリケーションは、パフォーマンスに影響します。アイドル中の一般的なデスクトップ・アプリケーションもプロセッサー時間を消費するため、正しい測定の妨げとなります。
プログラム中の 1 つのポイントから別のポイントまでの時間を測定する際は、開始ポイントを含む関数と別のストランドが並列に実行される可能性がある場合、2 つのポイントの間の経過時間を測定しないようにします。
マルチコア搭載のラップトップおよびその他のシステムで動的に周波数のスケーリングを行った場合、特にワーカー数を増やして追加コアを使用しようとすると、予期しない結果が測定されることがあります。ワーカーと利用可能なコアの数が増えると、消費電力を減らすためにシステムがクロックレートを調整し、その結果、全体のパフォーマンスが低下することがあります。