BT

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

Ruby VM综述:MacRuby 0.5 Beta 2增加AOT工具,Rubinius 0.13发布

| 作者 Werner Schuster 关注 9 他的粉丝 ,译者 丁雪丰 关注 4 他的粉丝 发布于 2009年11月25日. 估计阅读时间: 2 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

MacRuby 0.5有了新的动作——发布了MacRuby 0.5 Beta 2,新版本带来了很多改进,提升了与RubySpec的兼容性。

Ahead of Time(AOT)编译也得到了改善

macrubyc默认会生成动态链接MacRuby.framework的可执行文件,这样会大大减小文件的大小。为了构建完全独立的可执行文件,必须传入-static参数。

有了新的工具,编写独立的、自包含的应用程序更加容易了:

现在有一个名为macruby_deploy的新工具,它能帮助你部署MacRuby应用程序。macruby_deploy提供了选项提前编译应用程序的Ruby代码,还能将MacRuby框架放入应用程序中。这样一来,你的应用程序就能部署了,因为进行了预编译,其中的代码都被隐藏了。

InfoQ之前介绍了MacRuby 0.5的一些大变化,包括去除GIL、新的基于LLVM的VM等。

另一个Ruby VM也发布了新版本:Rubinius 0.13。其中的一些亮点包括默认开启JIT和一个全面修正过的编译器及解析器

新增的QueryAgent,将来在连接运行中的系统时可能非常有用。它是一个工作在Rubinius VM内部的系统,监听可配置的端口,等待连接。客户端连接到系统中,查询特定状态或运行时信息;目前似乎只能获取配置项。系统使用BERT来对连接中传输的数据进行编码。想要试用QueryAgent,用/bin/rbx -Xagent.port=$PORT_NUMBER(选择一个可用的$PORT_NUMBER)来运行Rubinius。该协议还没有正式文档,但根据其实现还是能对它所支持的东西有所了解

要试用Rubinius,可以从Github上获取Rubinius 0.13。运行./configurerake进行编译;要构建带有LLVM的Rubinius,用./configure --enable-llvm代替./configure即可,它会处理LLVM的获取及构建的。
想知道Rubinius与Ruby 1.8.7比较的结果,可以通过./bin/bm运行全套MRI及Rubinius的基准测试。

查看英文原文:Ruby VM Roundup: MacRuby 0.5 Beta 2 Adds AOT Tooling, Rubinius 0.13 Released

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的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通知我

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

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

讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT