- A+
Mono 3.6.0 发布,此版本从上一个版本开始,总共提交了 878 个commits。自2014 年 3 月 10 日开始,共有66 位贡献者参与开发; 其中有22位首次提交的贡献值,他们修复了 112 个 bug。
Mono是一个由Xamarin公司(先前是Novell,最早为Ximian)所主持的自由开放源代码项目。该项目的目标是创建一系列符合ECMA标准(Ecma-334和Ecma-335)的.NET工具,包括C#编译器和通用语言架构。 与微软的.NET Framework(共通语言运行平台)不同,Mono项目不仅可以运行于Windows系统上,还可以运行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戏平台,例如:Playstation 3,Wii或XBox 360。
本次发布亮点:
Profiler新增运行时性能计数器。
profiler现提供了回溯统计模式(statistical mode)。同时,在ARM上,追踪模式(tracing mode)可正常工作。
对类库进行较大规模的重构。在无cygwin的Windows上,Mono现在几乎可以构建系统程序。
支持在Mac上使用NuGet。
Debugger(调试器)
支持行和列的范围。 支持pdb2mdb。
支持在top frame中用于改变当前行。
修复大量的bug和性能的提升。
支持不通过getting查看简单属性。
新增的缓冲响应模式(buffered response mode)来提高链路料率,例如延烧USB的延迟。
GC(垃圾回收)
GC bridge在工作性能上有很大改进。目前新增的两种模式可显著改善CPU工作负载问题。
Class Libraries(类库)
改进了多个http 协议栈
实现System.IO.Compression
实现System.Security.Claims
Performance(性能)
重新设计locking, 在方法查找中废弃hot lock
使用fine grained locking代替big hot lock。
在部分运行时的内部使用更好的散列算法,以避免一些极端情况,从而提高性能
Profiler(探查器)
新增回溯统计模式(statistical mode)
新增周期性flushing,有助于提升用户操作的交互体验。
新增运行时性能计数器。见mprof-report。
其他
修正了CIL前缀不一致性问题。
现在可部署在ikdasm
优化EqualityComparer以支持更多的类型。
在OS X下,Mono.Unix.Native.Syscall.getxattr()现在可以返回Errno.ENOATTR
MSBuild实现了可以构建Project K and Roslyn
该版本还包含了一些bug修复。改进的完整列表请参看发布说明。
就本次版本发布,在.NET社区中已经有一些热议的话题: 如C#与F#, C#与JAVA语言之争,甚至还涉及关于移动游戏平台的Unity3D的讨论等。总之,本次Mono 3.6发布对性能的提升,极大的吸引了老用户的注意力,如,有一个已经使用Mono 2.0版本多年的老用户明确表示要尽快把项目升级为Mono 3.6版本。