Ruby on rails rubymine剖面仪

Ruby on rails rubymine剖面仪,ruby-on-rails,performance,profiling,rubymine,Ruby On Rails,Performance,Profiling,Rubymine,我正在创建一个繁重的脚本来分析和存储数据,我真的需要知道哪些代码行占用了大部分时间。 Rubymine是否具有探查器功能,或者是否有可能以某种方式向其添加探查器 我也在寻找,但没有成功。如果你发现了什么,请告诉我 同时。。。Ruby本身有两个模块可以帮助您 基准—— 你这样做吗 require 'benchmark' n = 50000 Benchmark.bm(7) do |x| x.report("for:") { for i in 1..n; a = "1"; end } x

我正在创建一个繁重的脚本来分析和存储数据,我真的需要知道哪些代码行占用了大部分时间。
Rubymine是否具有探查器功能,或者是否有可能以某种方式向其添加探查器

我也在寻找,但没有成功。如果你发现了什么,请告诉我

同时。。。Ruby本身有两个模块可以帮助您

基准——

你这样做吗

require 'benchmark'

n = 50000
Benchmark.bm(7) do |x|
  x.report("for:")   { for i in 1..n; a = "1"; end }
  x.report("times:") { n.times do   ; a = "1"; end }
  x.report("upto:")  { 1.upto(n) do ; a = "1"; end }
end
它将为您提供一个很好的分析结果表

             user     system      total        real
for:     1.050000   0.000000   1.050000 (  0.503462)
times:   1.533333   0.016667   1.550000 (  0.735473)
upto:    1.500000   0.016667   1.516667 (  0.711239)
探查器——

使用此模块最简单的方法就是
需要“profile”
,在脚本完成后,它会输出关于每个调用的数据


检查此示例自2019.1版本以来,RubyMine支持使用RbSpy进行评测。要分析脚本,请执行以下操作:

  • (可选)在设置/首选项|构建、执行、部署| Ruby profiler页面上配置探查器设置
  • 右键单击编辑器或项目视图中的脚本,然后选择使用“RbSpy profiler”运行“脚本名称”

  • 在探查器工具窗口中分析结果。火焰图表选项卡显示调用堆栈在任何时刻的状态。每个帧表示堆栈中的一个方法/块(堆栈帧)。在Y轴上,有一个自底向上的堆栈深度。X轴显示从最耗时的方法/块到最耗时的方法/块排序的堆栈

  • 您可以从“帮助”主题了解更多信息