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

    Mono 3.2 发布了,对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新。

    Mono 3.2 主要新特性:

    • LLVM 更新到 3.2 版本,带来更多的编译优化
    • 默认使用 SGen Garbage Collector 垃圾收集器,提供3种新的实验模式:Low pause mode、Low promotion nursery、Mostly precise stack scanning;
    • FullAOT编译器生成更优化的代码
    • Mono 3.2 基础类库可构建完整 Xamarin 的移动 profile
    • 降低编译后的文件包大小(对比3.x系列版本,尺寸缩减并不明显)
    • 性能提升
      • 解析性能大大增长
      • LINQ查询更快
      • 大对象的克隆和装箱速度提升两倍
      • 优化Marshal.Read/Write方法

    详细介绍请看发行说明

    上面的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
  • 相关阅读:
    Spring Boot中Bean对象的核心特性及依赖注入分析
    Spring Boot快速入门
    throw和throws
    Spring框架中的一些常见注释
    关于maven的介绍并创建一个简单的maven工程
    luffyapi~settings
    爬虫~requests
    爬虫~scrapy1
    爬虫~scrapy
    爬虫~选择器
  • 原文地址:https://www.cnblogs.com/shanyou/p/3216299.html
Copyright © 2011-2022 走看看