微信号:infoqchina

介绍:有内容的技术社区媒体

Mono 3.2.7发布,JIT和GC进一步改进

2014-03-08 12:13 InfoQ

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修复。改进的完整列表请参看发布说明。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 我对程序员身体健康的一点感悟 基于.NET平台常用的框架整理 Rebranding - 竹目草集 手机淘宝 521 性能优化项目揭秘 [有人@我] 想要免费来上海吗?报名就有机会哦~