2012-02-21 2 views
2

AMD Bulldozerはサーバースペースでは成功していますが、デスクトップではうまく機能しませんでした。私が理解しているように、これの主な原因は、デスクトップアプリケーションではまだ使用されていないBulldozerの特別な命令を使用するようにサーバーアプリケーションが書き直されていることです。私たちはJust in timeコンパイラ(JIT)が4.5でこれらを使用することを期待していますか?彼らは4.0に移植可能ですか?.Net framework JITとBulldozerの特別な指示

明確化:JITは、IL命令にコンパイルされたマシンではなく、実行中のマシンでコンパイルされていることを理解しました。このJITアプリケーションは実際にコンパイルされ、バイナリに直接リンクされた通常のコードよりも高いパフォーマンスを持つことができると主張されています。

+0

いいえ、いつですか?おそらく決して。 .NETではSSE IIRCを使用していません。 – leppie

+0

これは4ヶ月間しか入手できませんでした。 "特別な指示"は、ベンチマークで苦しんでいるアーキテクチャーのためのものではありません。 AMDがあなたのポイントを証明したい場合、モノジッタを書くことができます。 –

+0

/Bulldozerが十分大きな基盤を得るまでは、Microsoftが特別なことをすることはまずありません。 .NETが特別な最適化を行うことは可能ですが、これらは無料ではなく、開発に時間とコストを必要とします。プラットフォームが十分に小さい場合、MSがそうする価値はありません。ブルドーザーをサポートしたい場合、AMDはMSと協力して作業する必要があります。 AMDがそのように気にすることができないなら、MSはどうしてですか? –

答えて

1

それがパフォーマンスに来るとき残念ながら、.NETのJITは、特に洗練されていません:それはCと同じ情報を持っているものの

  • でもサーバー上でそれがC++コンパイラのような重い最適化を行いませんが、い++コンパイラが持っています。それはちょうど
  • は、それが唯一の
  • も無効な最適化と品質の問題は、エスケープ解析などの
  • いくつかの明白な最適化が行われているx64のは
  • 欠けている フロートと、いくつかの操作のための特別な命令を使用して、特定の物事を行いません。

    JITが特に高い予算で開発されていないようです。だから私は、そのような専門的な指示が使われるのを見ることはできないだろう。

  • +0

    人は決して起こらないことを願っています。 JITの全体的なポイントは、.NET Frameworkがインストールされているすべてのマシンが前記アプリケーションを実行できることです。もしそれがコンパイルされたマシンがそれを行うことができるので特別なことをしたら、それは目的を破るでしょう。 –

    +0

    @Ramhound上記の編集を参照してください。 –

    関連する問題