微信号:infoqchina

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

【工具】Mono 3.6发布,支持在Mac系统上使用Nuget

2014-08-19 10:53 InfoQ

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版本。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 深度链接的前世今生 Android M新特性Doze and App Standby模式详解 PingCAP 第10期 NewSQL Meetup 浅谈 MySQL 的存储引擎(表类型) [千锋资讯]千锋教育心系云南鲁甸 为受灾学子减免全部学费