BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Mono:超越标准

| 作者 Jonathan Allen 关注 594 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2008年11月10日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

从Mono 2.2开始,Jonathan Pryor的Mono.Options库就与运行时一起发布了。这个库本身并不那么惹人注意。虽然它确实很有用,尤其对于那些编写大量命令行应用的人来说更是如此,但它仅仅只是一个库而已。

然而它具有更深层的意义,Mono正在超越标准。Mono不再只是跟屁虫了,它正试图在很多地方超越CLR。作为一个开源项目,他们开发新库的速度要远远快于微软。他们不必事事亲为,相反可以使用一些成熟的项目,如Mono.Optionscollection library C5,并将他们包含在发布中。

在12月Mono 2.2的发布中最重要的一个增强就是对SIMD的支持。SIMD是一套CPU指令,可以极大地加快向量的操作。通过使用SIMD,用户就不必按照顺序对数组中的每个元素执行操作,他们可以使用SIMD指令处理包含16个元素之多的向量。下面列出的就是支持的类型。

  • Mono.Simd.Vector16b——16个无符号的byte
  • Mono.Simd.Vector16sb——16个有符号的byte
  • Mono.Simd.Vector2d——2个double
  • Mono.Simd.Vector2l——2个有符号64位的long
  • Mono.Simd.Vector2ul——2个无符号64位的long
  • Mono.Simd.Vector4f——4个float
  • Mono.Simd.Vector4i——4个有符号32位的int
  • Mono.Simd.Vector4ui——4个无符号32位的int
  • Mono.Simd.Vector8s——8个有符号16位的short
  • Mono.Simd.Vector8us——8个无符号16位的short

性能的改进是明显的。执行Spring-Gravity算法,一个本地的C++程序运行需要9.5秒。比较起来,Mono却需要17.7秒。但将标准的操作符转化为SIMD函数,Mono的运行时间一下子就降到了1.7秒。

那么人们使用Mono打算做什么呢?为Windows、XBox 360及iPhone编写游戏。你可以通过PDC 2008 video的第9频道了解更多。

查看英文原文:Mono: Going Beyond the Standard

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

hi by lu wenhua

mono到了收获的时候了

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT