文章出處
文章列表
Mono 3.2.7已經發布,帶來了很多新特性,如改進的JIT、新的面向LINQ的解釋器以及使用了64位原生指令等等。
這是一次主要特性發布,累積了大約5個月的開發工作。看上去大部分改進都是底層的性能改進、優化以及更好的兼容性。以下是一些值得重點強調的特性:
- 對ARM上的HardFP ABI(Application Binary Interface,應用程序二進制接口)提供了初步支持。這就使得Mono可以應用于更新的Linux版本上,同時可以針對這些目標平臺生成更好的代碼。要進一步了解,可以閱讀 HardFP與SoftFP的區別。
- 現在ABCREM(array bound checks removal)優化在64位系統上的表現改進了很多。
- 兩類新的優化,移動循環不變式(Loop Invariant Code Motion)和別名分析(Alias Analysis)。在某些函數中可以帶來20%的性能收益。
- 64位CAS指令在32位系統上得到支持,極大地改進了PLINQ負載在多核平臺上的表現。
- 使用了更新的LLVM版本,現在可以生成快速TLS(Thread Local Storage,線程本地存儲)存取
- GC相關的微型優化——優化了內部數據結構,使用intrinsics來加速核心循環。
- 可供FullAOT運行時使用的一個面向LINQ的解釋器以及動態語句。
- 通過task awaiters對定制任務調度器提供了更好的支持。
- C#編譯器中的可達性和流分析有了很大的改進,可以生成更好的警告信息。
該版本還包含了一些bug修復。改進的完整列表請參看發布說明。
查看英文原文:Mono JIT, GC Get Better
查看中文原文:Mono 3.2.7發布,JIT和GC進一步改進
文章列表
全站熱搜