zoukankan      html  css  js  c++  java
  • 跨平台的 .NET 运行环境 Mono 3.2 新特性

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

    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
    • 降低编译后的文件包大小
    • 性能提升

    详细介绍请看发行说明

    上面的ppt需要翻墙观看,所以把这个ppt的内容和大家分享下,请看下面的截图:
    image
    这张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测试版本。
    image
    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中的内存。
    image
    image
    image
    image
    image
    Mono 3.2 对移动开发方面也是有很多的改进,这部分主要是涉及到Android和ios上开发
    image
    image
    Mono 3.2里头还包含了很多微软开源的框架:
    image
    image
     
    Mono 3.2 跨平台框架方面的内容:
    image
    image
    image
    image
    image
    image
    后面的还有20张ppt是讲Mono项目团队正在做的事情,也有很多激动人心的特性:
     
    image
    image
    image
     image
    翻译此页
     
    分类: Linux/MonoLJMM
  • 相关阅读:
    数论2&莫&杜
    虚树学习笔记
    LinkCutTree学习笔记
    FWT学习笔记
    容斥
    线段树合并
    线性基
    FFT_应用和例题
    斜率优化
    Redis中String的底层实现
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3216980.html
Copyright © 2011-2022 走看看