写点什么

Mono 3.0 添加了异步支持、改进的 SGen 垃圾收集器及其他特性

  • 2012-11-01
  • 本文字数:932 字

    阅读完需:约 3 分钟

Miguel De Icaza 已经宣布了 Mono 3.0 的发布,该版本带来了一些改进,如异步支持、更好的 SGen 垃圾收集器、改进的 Eval API 以及与.NET 4.5 的兼容等。

Mono 3.0 是对之前最新的稳定版本 2.10 的更新。有些新特性已经包含在今年早些时候的 2.11.x预览版中了。值得注意的变化有以下几点:

  • 支持 C#异步特性的编译器
  • 从微软的开源软件堆栈中集成了一些框架和库,其中包括 ASP.NET MVC 4、ASP.NET WebPages、Entity Framework、Razor 和 System.Json
  • SGen 现在是默认的垃圾收集器,为了更好地支持多处理器硬件引入了一些性能和可伸缩性改进
  • Eval() API 目前能够编译完整的类型,而非仅支持表达式。编译器即服务(compiler-as-a-service)也不再是一个全局的编译器,而是可以在多个作用域内实例化
  • 对一些类型(如 ThreadLocal 和 List)的运行时优化
  • 引入了一些新的属性,支持出于性能调优考虑强制编译器内联代码
  • 在 MacOS 上可以编译为 64 位的二进制文件(尽管发行时只提供了 32 位二进制文件)
  • 改进了 Soft Debugger ,使用 USB 连接的设备时可以获得更好的性能
  • 在 OS X 上捆绑提供了 F# 3.0
  • Mono 中的 SQLite 数据库实现目前支持 iOS 的加密 API,也允许以配置形式修改线程模型

关于变化的更多细节请参考发布说明

Miguel 指出,所有这些改进都应该在适当的时候支持 MonoTouch 与 Mono for Android。他也暗示道,Mono 的开发会以更快的发行速度为目标,所以重要的开发会在独立的分支中进行,然后再合并到主干分支中,以便保证在任何时候主干都尽量稳定。

使用 Mono 的开发者提出了一些一般性问题,其中一个是 Mono 一直缺乏一个跨平台的 UI 层——Mono 团队当前的建议是在一组公共的核心功能集之上为每个平台构建一个原生接口。 Miguel 建议使用 GTK# Qyoto(Qt 的 C#绑定)或一个新的工具包 Xwt。

在本文撰写之时,Mono 3.0 只发布了支持 OS X 平台的二进制文件,而支持其他平台的二进制文件尚有待社区发布。不过读者可以自己从更新的源代码构建。

查看英文原文 Mono 3.0 Adds Async, Improves SGen GC and More


感谢李永伦对本文的审校。

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

2012-11-01 10:321849
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 135.3 次阅读, 收获喜欢 35 次。

关注

评论

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

这几道const和iota的面试题你能做对吗?

王中阳Go

Go 面试题 const 10月月更 go基础

你用Go写过中间件吗?带你用Gin实现【用户角色权限管理中间件】

王中阳Go

golang MySQL 学习方法 高效学习 10月月更

【一Go到底】第十七天---函数的递归调用

指剑

Go golang 10月月更

浙江特殊教育职业学院用上了福昕无障碍技术

科技热闻

前端必会手写题总结

helloworld1024fd

JavaScript

redis实现分布式锁(一)

zarmnosaj

10月月更

redis实现分布式锁(二)

zarmnosaj

10月月更

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 云开发 10月月更

架构实战训练营模块 2 作业

Geek_b35d92

redis设计成单线程的原因是什么

芥末拌个饭吧

后端 redis 底层原理 10月月更

react源码分析:实现react时间分片

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

Java三大特性(二)—继承

共饮一杯无

Java 继承 10月月更

你知道Redis是如何保持数据一致性吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

用PM2做Python进程管理也太好用了吧

芥末拌个饭吧

进程 pm2 10月月更

Kafka消费者客户端心跳请求

石臻臻的杂货铺

Kafk 10月月更

$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

React源码分析(一)Fiber

goClient1992

React

水果成篮问题

掘金安东尼

算法 10月月更

Go如何优雅的对时间进行格式化?

王中阳Go

Go golang 学习方法 golang 面试 10月月更

Java基础(八)| 常用API与StringBuilder详解

timerring

Java API 10月月更

PriorityQueue 源码解析(三)

知识浅谈

Priority Queue 10月月更

从源码角度看React-Hydrate原理

flyzz177

React

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

React-Hooks源码深度解读

goClient1992

React

关于马蹄链项目系统开发流程及技术方案分析

I8O28578624

【LeetCode】可能的二分法Java题解

Albert

算法 LeetCode 10月月更

如何掌握“看见数据”的魔力?

博文视点Broadview

从0到1设计通用数据大屏搭建平台

vivo互联网技术

大数据 可视化 低代码平台 敏捷BI

Kafka消费组/者协调器的介绍

石臻臻的杂货铺

Kafk 10月月更

Mono 3.0添加了异步支持、改进的SGen垃圾收集器及其他特性_.NET_Roopesh Shenoy_InfoQ精选文章