BT

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

Ruby 1.9综述:Ruby 1.9的Ruby-debug、Ruby Switcher和MacRuby

| 作者 Werner Schuster 关注 6 他的粉丝 ,译者 杨晨 关注 0 他的粉丝 发布于 2009年8月16日. 估计阅读时间: 2 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

近一段时间Yehuda Katz一直在强烈质疑:到底是什么问题使得开发者远离Ruby 1.9。其实一个很重要的原因是应该归咎于不能在Ruby 1.9.x上运行的库和工具的列表上那一长串名字
这个列表正不断缩短。不仅如此,不断的更新中还有近期发布的Ruby 1.9.x的ruby-debug工具。在这个版本中,Ruby-debug使用原生扩展来减少调试器中运行Ruby代码的开销
Mark Moseley最近在GitHub上发布了一些代码,专注于如何更有效地减少调试器的开销。其基本思想是:在编译代码的时候采用插入特殊指令的方法来设置Ruby代码的断点,从而中断执行。
现在ruby-debug 1.9.x的安装指南已经可以在GitHub上找到。

随着Ruby版本的增多,在不同的Ruby实现版本上测试Ruby代码变得更加重要。我们在这里提供了一些可用的备选方案,例如使用MultiRuby或者Ruby版本库站点
近期出现了一个名为Ruby Switcher的新工具。其采用了一种非常简单的思想:使用一个简单的命令来切换Ruby版本,例如使用命令use_ruby_191切换到Ruby 1.9.1,而use_jruby使得ruby命令以及其他的程序库切换到JRuby。同样,为了正确地切换,这个工具也会下载和安装大量Ruby的不同版本。

本文的最后,是来自MacRuby的消息:MacRuby的实验性分支已经被并入到了主干库中。这个实验性分支开发了一个全新的VM,这个VM使用了LLVM来实现JIT和预编译(Ahead of Time,简称为AOT)技术。另外一个更新是MacRuby移除了GIL。在这里我们简单介绍一下MacRuby:MacRuby是Ruby 1.9.x的一个衍生版本,它继承了标准Ruby的线程特性,当然包括GIL在内。
在下一个稳定发布版本中,观察MacRuby的线程性能开销会是如何是个不错的主意;要知道标准的Ruby 1.9.x在近期的版本中仍然会保留GIL

查看英文原文:Ruby 1.9 Roundup: Ruby-debug on 1.9, Ruby Switcher, MacRuby

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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