您的位置:首页 > 其它

跨平台的 .NET 运行环境 Mono 3.2 新特性

2013-07-26 21:20 330 查看
Mono 3.2 发布了,对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新。
Mono 3.2 主要新特性:
LLVM 更新到 3.2 版本,带来更多的编译优化
默认使用 SGen Garbage Collector 垃圾收集器
Low pause mode
Low promotion nursery
高精度的堆栈扫描 Mostly precise stack scanning
Mono 3.2 基础类库可完整构建 Xamarin 的移动 profile
降低编译后的文件包大小
性能提升
详细介绍请看发行说明

Monkey space 2013 from Miguel de Icaza 上面的ppt需要***观看,所以把这个ppt的内容和大家分享下,请看下面的截图:

这张PPT介绍的是Mono 3.2的内容已经覆盖桌面、服务器和移动端,支持.NET 4.5的核心功能包括基础类库和c# 5.0 .对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新, 如果是新部署的Mono环境可以考虑直接使用Mono 3.2版本了,这是一个正式发布的版本,从2.10.8到3.2 已经持续开发了2年的时间,中间经历好多的beta测试版本。

Mono 3.2版本有很多改变,这是一个完全成熟的.NET框架,包括垃圾回收器方面得到极大的提升,现在默认的GC实现称为SGen(Simple Generational),除此之外的选择还有Boehm(http://jezng.com/2012/02/How-the-Boehm-Garbage-Collector-Works/),Boehm GC的基本思想是在malloc()时记录分配空间的元信息,然后在数据中保守地检查每个可能为指针的整数。其好处是只要截malloc()和free()两个接口即可,因此可被用于uncooperative环境(即C/C++这种指针和整数界限模糊的情况),缺点是由于做法保守可能会有垃圾无法被回收。另外Boehm中对象不能被移动,所以会有fragmentation。SGen的主要思想是将对象分为两个generation:较新的称为generation 0,较老的称为generation 1。这种设计是基于这样的一个事实:程序经常会申请一些小的临时对象,用完了马上就释放。而那些一段时间没释放的,往往很长时间都不会释放,如全局对象等。基于这个原则,SGen将GC分两个阶段:minor collection和major collection,分别用于回收nursery heap和major heap中的内存。









Mono 3.2 对移动开发方面也是有很多的改进,这部分主要是涉及到Android和ios上开发



Mono 3.2里头还包含了很多微软开源的框架:



Mono 3.2 跨平台框架方面的内容:











后面的还有20张ppt是讲Mono项目团队正在做的事情,也有很多激动人心的特性:







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: