Christopher解释了这是如何实现的: 此Profiler是ruby-prof gem的一个简单包装。...我们将从ruby-prof的bin脚本中得到的ruby脚本的执行包装起来,并将输出定向到一个临时文件中。然后,当执行结束的 时候,我们通过解析输出并生成调用图表和着重点以供查看。...这个目前对JRuby还不支持,因为对于用原生C代码写成的ruby-prof gem来说,Java目前还没有替代品。一旦有了这个替代品,我们就会马上让JRuby也支持这项特性。...如 果要实现这个功能:我们就得修改ruby-prof gem使得它类似于ruby-debug的ruby-debug-ide gem那样工作——至少可以允许对于profiler的远程连接和实时地通过套接字来发送剖析相关的命令...或者我们可以创建一个JRuby兼容的ruby-prof。这实在是取决于用户的需求。这是个标志性的新功能,因此我们也在收集需求以求改 进。
Sampling setitimer perftools.rb by tmm1 Sampling setitimer rblineprof by tmm1 Tracing rb_add_event_hook ruby-prof...追踪分析器是如何工作的 我调查过上边表格中所有的追踪分析器:rblineprof、ruby-prof和cProfile。它们工作原理基本相同。它们都记录所有的函数调用并且用C语言编写来降低耗时。...代码: ruby-prof 调用rb_add_event在:ruby-prof.c line 329 rblineprof调用rb_add_event_hook在:rblineprof.c line 649...我没有测试ruby-prof(一个ruby追踪分析器)的开销,但是它的README说: 大多数程序开分析器耗时将会是原来的两倍,并且高度递归程序(斐波那契数列)耗时将会是原来的三倍。
追踪分析器是如何工作的 我调查过上边表格中所有的追踪分析器:rblineprof、ruby-prof和cProfile。它们工作原理基本相同。它们都记录所有的函数调用并且用C语言编写来降低耗时。...代码: ruby-prof 调用rb_add_event在:ruby-prof.c line 329 rblineprof调用rb_add_event_hook在:rblineprof.c line 649...我没有测试ruby-prof(一个ruby追踪分析器)的开销,但是它的README说: 大多数程序开分析器耗时将会是原来的两倍,并且高度递归程序(斐波那契数列)耗时将会是原来的三倍。
在 ruby-prof gem 和 Ruby 自带的标准 profile 库之间,选择前者,因为前者更快而且可以提供多种不同的报告。
领取专属 10元无门槛券
手把手带您无忧上云