BT

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

JRuby近况:JRuby-Prof帮助快速进行性能剖析,JRuby::Synchronized提供自动同步

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

JRuby-Prof是由Daniel Lucraft开发的一款新的特定于JRuby的性能剖析器。虽然有很多成熟的针对Java的剖析器,但JRuby的混合执行模式让它们的输出难以阅读;某些JRuby代码会被解释执行,某些JRuby热点则会被编译成字节码。如果使用Java的剖析器,JRuby的内部方法会出现在剖析结果中,占据输出的前几位,而用户往往只是想知道特定的Ruby方法的调用情况。

JRuby-Prof通过JRuby的钩子方法来获取类似方法调用之类的事件信息,这是一种实现剖析器的有效途径,至少和set_trace_func方法相比会更有效一些,set_trace_func是一个回调方法,在一行代码执行前会被调用。

可以通过Gem的方式来获取JRuby-Prof:

jruby -S gem install jruby-prof 

在GitHub上能找到JRuby-Prof的源代码

JRuby::Synchronized模块是最近加入JRuby的新特性。Charles Nutter在JRuby用户列表中解释了JRuby::Synchronized背后的思想

在IRC上和MenTaLguY讨论了要给JRuby增加一些并发集合后,我们增加了一个新特性:
require 'jruby/synchronized'
class MyClass include JRuby::Synchronized ...


obj.extend JRuby::Synchronized

include或extend该模块的效果是让对这个类的对象(或单例对象)的所有方法调用都像包围在Java的synchronized块中一样。不会存在两个线程同时调用该对象的方法的情况(显然是以对象为基础的)。

这是为JRuby提供并发工具的一个尝试——您还希望看到什么新特性呢?

查看英文原文:JRuby Roundup: JRuby-Prof Allows Fast Profiling, JRuby::Synchronized for Automatic Synchronization

评价本文

专业度
风格

您好,朋友!

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