写点什么

Mono 3.6 发布,支持在 Mac 系统使用 Nuget

  • 2014-08-15
  • 本文字数:1150 字

    阅读完需:约 4 分钟

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 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-15 03:162492
用户头像
王文刚 Instagram 营销专家

发布了 37 篇内容, 共 26.7 次阅读, 收获喜欢 55 次。

关注

评论

发布
暂无评论
发现更多内容

有奖话题 | 如果程序员和产品经理都会凡尔赛文学,将如何对话?

YourBatman

话题讨论 凡尔赛文学

面试专题-Java基础面试技术

码界西柚

马士兵最新2020涵盖P5—P8Java全栈架构师学习路线,跟着老师学我已拿P7Offer!

Java架构追梦

Java 学习 架构 面试 马士兵

如何基于App SDK快速地开发一个IoT App?

IoT云工坊

App 物联网 sdk 智能家居

大厂经验:埋点数据质量之埋点验证

阿亮

埋点 数据验证

30分钟开发一款抓取网站图片资源的浏览器插件

徐小夕

Java chrome 大前端 chrome扩展

我是面试官,我来分享一波面经!看看我的内心OS

比伯

Java 编程 架构 面试 技术宅

视频作品播放量低:自媒体作者如何走出新手村

石头IT视角

英特尔与南京溧水经济技术开发区共同成立智能交通研究院

E科讯

第一周 架构方法 作业一 「架构师训练营 3 期」

胡云飞

极客大学架构师训练营 架构方法

moon不讲武德!!!一个类加载机制给面试官说蒙了!!

moon聊技术

Java JVM 类加载 类加载器

双指针算法和位运算&离散化和区间合并

落曦

基于DAYU的实时作业开发,分分钟搭建企业个性化推荐平台

华为云开发者联盟

华为 算法 数据 dayu

如何用CSS实现图像替换链接文本显示并保证链接可点击

陈北

CSS小技巧

在线K歌的发展和优势

anyRTC开发者

音视频 WebRTC RTC sdk

Web前端如何实现断点续传

QiLab

Web 断点续传 upload pl

LeetCode题解:169. 多数元素,分治,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

甲方日常 56

句子

工作 随笔杂谈 日常

Python进阶——什么是元类?

Kaito

Python

【JAVA】List转换为array

笑春风

云原生应用Go语言:你还在考虑的时候,别人已经应用实践

华为云开发者联盟

微服务 云技术 Go 语言

架构师训练营第 1 期 - 第 9 周 - 学习总结

wgl

极客大学架构师训练营

【薪火计划】05 - 坦诚是领导力的根基

码上生长

管理

区块链应用场景有哪些?区块链应用开发

t13823115967

区块链应用场景有哪些 区块链应用开发

彻底搞懂 IO 底层原理

vivo互联网技术

Java Netty 服务器 语法

面试JVM一问三不知??来看看这个

程序员的时光

JVM Java虚拟机

About Me

翎君

android

MySQL如何实现万亿级数据存储?

冰河

MySQL 分布式 微服务 高可用 mycat

Appium上下文和H5测试(一)

清菡软件测试

App

市值管理机器人、自动跑k线机器人开发

t13823115967

市值管理机器人 自动跑k线机器人开发

申通快递 双11 云原生应用实践

阿里巴巴云原生

阿里云 Kubernetes 运维 云原生 监控

Mono 3.6发布,支持在Mac系统使用Nuget_语言 & 开发_王文刚_InfoQ精选文章