質問

私たちはできるだけ速く大規模なプロジェクトをコンパイル(GCCまたはLinuxカーネルを言う)してみたいと思います。ハイパースレッディング機能を持つCPU(たとえばインテルCore i7プロセッサー)は、任意の速いハイパースレッディングを有効または無効にしてコンパイラを実行していますか?これをテストする任意の公表のベンチマークはありますか?

ハイパースレッドの私の理解は、各コアは、2つ(又はそれ以上のプロセス)から命令を選択することができることです。それは、機能ユニットがアイドル状態になる可能性は少ないですので、これは通常、コアは、より効率的になります。しかし、そこにパフォーマンスの低下の可能性は、キャッシュと同じコアを共有リソース上で実行中のプロセス以来だし、お互いに干渉することがあります。パフォーマンスが実際に向上するかどうかは、ワークロードに依存します。

コンパイラのワークロードのためので、パフォーマンスが向上しますか?もしそうなら、どのくらいですか?

により、
役に立ちましたか?

解決

のUbuntu 8.04 x86でのcoreutils-8.4のコンパイル

HTと

インテルAtom 1.6 GHzのが有効になってます:

~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make > /dev/null

real    2m33.375s
user    2m22.873s
sys     0m10.541s
~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make -j2 > /dev/null

real    1m54.707s
user    3m26.121s
sys     0m13.821s
~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make > /dev/null

real    2m33.372s
user    2m22.753s
sys     0m10.657s
~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make -j2 > /dev/null

real    1m54.851s
user    3m26.145s
sys     0m13.685s
~/coreutils-8.4$

だからハイパースレッディングはのの33%より多くの処理能力に相当する75%の実行時間を短縮します。 (私はすべてがメモリキャッシュにあることを確認するために二回、それらを実行しました。)

そして、ここでのUbuntu 8.04 x86の

上のcoreutils-8.4をコンパイルするための速度が向上しないだけでそのmake -j2を表示するための制御実験があります

シングルコアコア2クワッド2.5 GHzのVM(NO HT):

~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make > /dev/null

real    0m44.453s
user    0m38.870s
sys     0m5.500s
~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make -j2 > /dev/null

real    0m45.131s
user    0m40.450s
sys     0m4.580s
~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make > /dev/null

real    0m44.621s
user    0m39.090s
sys     0m5.340s
~/coreutils-8.4$ make clean > /dev/null
~/coreutils-8.4$ time make -j2 > /dev/null

real    0m45.165s
user    0m40.390s
sys     0m4.610s
~/coreutils-8.4$

他のヒント

コンパイラは、マルチスレッドかしないかのように書かれている場合は、

これは、すべての依存します。それがある場合には、間違いなくハイパースレッディングは、OSが異なるコア上に、コンパイラのスレッドのさまざまな部分をスケジュールすることができますので、少し物事をスピードアップします。私は、コンパイルは、一般的に、集中処理するので、スピーディなハードドライブは、コアの100年代とスピーディーなプロセッサよりも、必要性のより多くのだろうことよりも多くのI / Oバウンドであることをケンに同意します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top