ssp、Qssp

ソフトウェア・ベースのスペキュレーティブ・プリコンピュテーション (SSP) 最適化を有効にします。

IDE オプション

なし

アーキテクチャー

IA-32 アーキテクチャー

構文

Linux*: -ssp
Mac OS*: なし
Windows*:  /Qssp

引数

なし

デフォルト

オフ ソフトウェア・ベースのスペキュレーティブ・プリコンピュテーションを有効にしません。

説明

このオプションは、ソフトウェア・ベースのスペキュレーティブ・プリコンピュテーション (SSP) による最適化 (ヘルパー・スレッディング最適化とも呼ばれます) を有効にします。この機能は、データ・キャッシュ・ブロックを動的にプリフェッチして、常に増加するメモリー・レイテンシーを平衡させます。この機能は、アプリケーション内の (delinquent ロードや pointer-chasing ループなどの) ソースコード構造のプロパティーを利用します。

SSP は、将来のメモリーアクセスを正確に計算するために、メインの計算スレッドとは別のスレッドで、スライスと呼ばれるオリジナルプログラム命令のサブセットを直接実行します。ヘルパースレッドはメインスレッドに先行して実行され、先にキャッシュミスを処理することで、メモリー・レイテンシーを隠蔽します。

SSP テクニックを有効にするには、複数のスレッドを同時に実行できる、ハイパースレッディング・テクノロジー (HT テクノロジー) のような、効率的な構造のヘルパースレッドとプロセッサー・レベルでのサポートが必要です。これらのテクニックには、次のものが含まれます。

プログラムのプロファイルはそれぞれ異なり、SSP 最適化の機会も異なるため、SSP の結果はさまざまです。SSP を使用するメリットがあるかどうか判断するためのガイドラインは、最適化ガイドの「SSP プリコンピュテーション (IA-32)」を参照してください。

代替オプション

なし