写点什么

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:162434
用户头像
王文刚 Instagram 营销专家

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

关注

评论

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

微信开源PhxQueue:高可用、高可靠、高性能的分布式队列

OpenIM

APM领域国产化先锋!博睿数据与麒麟、统信、中科方德完成兼容性认证

博睿数据

五行兼备:联想TruScale服务的太极之道

脑极体

新鲜出炉!腾讯3轮面试,拿53k*15offer全仰仗这份Java面试神技

Java 编程 架构 面试 程序人生

Frida笔记 - Android 篇 (一)

GrowingIO技术专栏

android Frida

Java 操作 Office:POI word 之表格格式

程序员架构进阶

Java Apache POI 9月日更 word文档

ServiceWorker工作原理、生命周期和使用场景

devpoint

Service Worker 9月日更

maven-dependency中作用域scope含义

一个大红包

9月日更

谁在制造“完美男性”?

脑极体

ULP Fec与 Flex FEC 概述

webrtc developer

WebRTC fec

总结下ThinkPHP的代码审计方法

网络安全学海

php 网络安全 信息安全 WEB安全 代码审计

Java中对千万级数据量的表进行插入操作(MYSQL)

张音乐

Java MySQL JDBC 9月日更

开源之夏项目分享:图数据库 Nebula Graph 支持 JDBC 协议

NebulaGraph

性能测试中异步展示测试进度

FunTester

性能测试 接口测试 测试框架 进度条 FunTester

前端独立交付需求背景下的Mock数据多方案解读

爱数技术范儿

JavaScript 大前端 Mock

防沉迷系统的bug,技术如何查漏补缺?

脑极体

腾讯云签约广州知识城商用密码项目,助力黄建设密码产业示范区

腾讯安全云鼎实验室

腾讯云 商用密码

HashMap为什么是线程不安全的?

Java技术精选

博睿数据云主机性能评测新增6家云厂商,8月报告亚马逊云科技登榜首

博睿数据

Python代码阅读(第25篇):将多行字符串拆分成列表

Felix

编程 Code Programing 阅读代码 -python

活动推荐 | 云原生社区 Meetup 第七期深圳站开始报名啦!

CODING DevOps

Kubernetes DevOps 微服务 活动 Meetup

北鲲云超算平台赋能蛋白设计助推生物制药行业发展

北鲲云

Vue进阶(幺零四):elementUI 应用 $notify 提示信息中换行问题

No Silver Bullet

Vue 9月日更

各编程语言里对 Iterator 进行修改时的对比

BlockQuant

Java Python rust Go 语言

微信亿级用户异常检测框架的设计与实践

OpenIM

垃圾分类与AI的反碎片之旅

百度大脑

人工智能 EasyDL

我怀疑,你对996的力量一无所知!

艾小仙

程序员 996

HTML进阶

Augus

html 9月日更

用数据搭建反馈系统

石云升

数据分析 9月日更

低代码开发:实现传统系统信息化的3种方案!

优秀

低代码 低代码开发

Python顺序结构选择结构

在即

9月日更

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