BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Mono,JITとGCを改良

Mono,JITとGCを改良

ブックマーク

原文(投稿日:2014/02/26)へのリンク

Mono 3.2.7が公開された。改良されたJIT,LINQ用の新しいインタプリタ,64bitネイティブ命令の使用など,数多くの新機能を備える。

5ヶ月に及ぶ開発の成果を蓄積した大規模な機能リリースだ。最大の改良点は内部的なパフォーマンス改善と最適化,互換性の向上だろう。注目すべきものをいくつか挙げると -

  • ARMのHardFP ABI(Application Binary Interface)が初めてサポートされた。より新しいバージョンのLinux上でmonoが利用可能になるとともに,それらのターゲットに,よりよいコードを生成する。詳細を理解するには,HardFPとSoftFPの違いについて読んでみてほしい。
  • ABCREM(Array Bound Checks Removal)最適化の64bitシステムでの動作が向上した
  • 2つの新しい最適化 - Loop Invariant Code Motion(ループ内不変式の移動)パスとAlias Analysis(エイリアス解析)。いくつかの機能において,最大20%のパフォーマンス向上を実現している。
  • 64bit CAS命令が32bitシステム上でサポートされた。これにより,マルチコアでのPLINGワークロードが大きく向上している。
  • 最新バージョンのLLVMを採用したことにより,高速なTLS(Thread Local Storage)アクセスコードが生成可能になった。
  • GCのマイクロ最適化 - 内部データ構造の最適化,および組み込み関数(intrinsics)利用によるコアループの速度向上。
  • FullAOTランタイムから利用可能なLINQおよび動的ステートメント用のインタプリタ。
  • Task Awaitersによるカスタムタスクスケジューラのサポート向上。
  • C#コンパイラの到達可能性およびフロー解析の大幅な向上と,それによるコード警告の改善。

リリースにはいくつかのバグ修正も含まれている。改良点の全リストはリリースノートで見ることができる。

この記事に星をつける

おすすめ度
スタイル

BT