「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>.NET Core]] * 目次 [#lee67fa8] #contents *概要 [#ode3623d] 段階コンパイル -JITの最適化を段階的に行い、パフォーマンスを改善する仕組み。 -一部のシナリオではプリコンパイル済みのコードより速くなる。 *詳細 [#n65761fe] **仕組み [#xd110764] **仕組 [#xd110764] ***ReadyToRun (R2R) [#ve0eb335] コンパイル時に [[Tier 0>#nc5d17d4]] なネイティブコードも同時に生成する仕組み。 ***Tiered Compilation [#be0b98af] [[Tier 0>#nc5d17d4]] なネイティブコードを実行時に [[Tier 1>#f4819a37]] へ差し替える仕組み。 **段階 [#ca55d506] コンパイルの段階 ***Tier 0 [#nc5d17d4] -初めて呼ばれるメソッドは一律「最適化なし」でJITコンパイル -使用頻度の高いメソッドは実行環境へ最適化されたコードへの差し替えが出来る。 ***Tier 1 [#f4819a37] -呼ばれた回数をカウントして、一定数を越えたら「最適化あり」でJITコンパイル -オン中でも戻り先アドレスに補正をかけるので、オン中にJITコンパイル可能 *参考 [#u1189c89] -段階コンパイル (Tiered Compilation) | ++C++; // 未確認飛行 C ブログ~ https://ufcpp.net/blog/2018/12/tieredcompilation/ -.NET Core 3.0 で有効化される Tiered Compilation と ReadyToRun について - しばやん雑記~ https://blog.shibayan.jp/entry/20190912/1568291738 ---- Tags: [[:.NET開発]], [[:.NET Core]]