13

.NET Framework 4.6の発表を読むと、RyuJIT が .NET 4.6 専用であることを暗示しているようです。

これは、RyuJIT を有効にするには、アプリケーションのターゲットを .NET 4.6 に変更する必要があるということですか?

4

1 に答える 1

18

短い答え:いいえ。

長い答え: デバッガーを使用して、新しいバージョンがあることを確認してください。まず、エクスプローラーでランタイム ディレクトリを確認し、C:\Windows\Microsoft.NET\Framework64\v4.0.30319 に移動します。そこに 2 つのジッターがあります。これはclrjit.dll、Ryujit プロジェクトに基づく新しいジッターでcompatjit.dllあり、従来の x64 ジッターです。

[プロジェクト] > [プロパティ] > [デバッグ] > [ネイティブ コードのデバッグ オプションを有効にする] にチェックを入れます。[Build] タブを使用して、ジッター強制を削除したことを確認します。[Prefer 32-bit] オプションのチェックを外し、[Platform target] を AnyCPU に設定する必要があります。[アプリケーション] タブを使用して、フレームワーク ターゲットを選択します。

[デバッグ] > [ステップ イン] を使用して、デバッグを開始します。[デバッグ] > [ウィンドウ] > [モジュール] を選択すると、読み込まれたモジュールの一覧が表示されます。そのリストに戻ってジッター DLL を見つけ、[名前] 列ヘッダーをクリックして名前で並べ替えます。戻ってきた場合compatjit.dllは、従来のジッターを使用しています。常に clrjit.dll が表示されることに注意してください。従来のジッタが使用されると、両方ともロードされます。

従来の x64 ジッターを意図的に使用するには、COMPLUS_useLegacyJit 環境変数、または HKLM または HKCU\Software\Microsoft\ .NETFramework レジストリ キーまたは app.exe.config ファイル エントリの useLegacyJit 値が必要です。

<runtime>
  <useLegacyJit enabled="1"/>
</runtime>
于 2015-07-21T08:57:09.927 に答える