为什么ruby教授会列出;内核;作为资源猪?

为什么ruby教授会列出;内核;作为资源猪?,ruby,performance-testing,libgosu,ruby-prof,Ruby,Performance Testing,Libgosu,Ruby Prof,我正在使用ruby prof计算我在ruby中构建的一个小型2D游戏引擎的CPU时间。除了主内核#`条目之外,这里的一切看起来都很正常。Ruby文档建议这是一个函数,用于获取在子shell中运行的命令的标准输出: 测量模式:墙时间 螺纹ID:7966920 光纤ID:16567620 总数:7.415271 排序方式:自整时间 %self-total self-wait子调用名称 28.88 2.141 2.141 0.000 0.000 476内核#` 10.72 1.488 0.795 0

我正在使用
ruby prof
计算我在ruby中构建的一个小型2D游戏引擎的CPU时间。除了主
内核#`
条目之外,这里的一切看起来都很正常。Ruby文档建议这是一个函数,用于获取在子shell中运行的命令的标准输出:

测量模式:墙时间
螺纹ID:7966920
光纤ID:16567620
总数:7.415271
排序方式:自整时间
%self-total self-wait子调用名称
28.88 2.141 2.141 0.000 0.000 476内核#`
10.72 1.488 0.795 0.000 0.693 1963500瓷砖#图纸
9.35 0.693 0.693 0.000 0.000 1963976 Gosu::图像#绘制
6.67 7.323 0.495 0.000 6.828 476 Gosu::窗口
1.38 0.102 0.102 0.000 0.000 2380 Gosu::Font#draw
0.26 4.579 0.019 0.000 4.560 62832*阵列#每个
0.15 0.011 0.011 0.000 0.000 476 Gosu::窗口#标题=
0.09 6.873 0.007 0.000 6.867 476游戏状态#平局
0.07 0.005 0.005 0.000 0.000 476串#gsub
0.06 2.155 0.004 0.000 2.151 476游戏窗口#内存#使用
0.06 4.580 0.004 0.000 4.576 1904散列每个
0.04 0.003 0.003 0.000 0.000 476串
0.04 0.038 0.003 0.000 0.035 476 Gosu::窗口受保护的更新
0.04 0.004 0.003 0.000 0.001 3167 Gosu::窗口#按钮#向下?
0.04 0.005 0.003 0.000 0.002 952可枚举地图
0.03 0.015 0.003 0.000 0.012 476播放器#更新
0.03 4.596 0.002 0.000 4.593 476#刻度
0.03 0.002 0.002 0.000 0.000 5236固定数量至美国
0.03 7.326 0.002 0.000 7.324 476 Gosu::窗口#勾选
0.03 0.003 0.002 0.000 0.001 952牌手#配合面
0.03 4.598 0.002 0.000 4.597 476#翻译
0.02 0.002 0.002 0.000 0.000 952阵列#拒收

关于为什么会发生这种情况,有什么建议吗?我确信我没有在代码中使用它——除非它是以某种方式被间接调用的。不知道从哪里开始寻找那种东西。

我已经解决了我的问题。尽管考虑到我在问题中链接的ruby文档,我并不十分清楚,但问题的根源在于
ruby prof
如何对
{}
快捷方式(也称为“字符串插值”)的使用进行分类。我在这些快捷方式中执行了半密集型调试逻辑

关闭调试文本可以解决我的问题

Measure Mode: wall_time
Thread ID: 7966920
Fiber ID: 16567620
Total: 7.415271
Sort by: self_time

 %self      total      self      wait     child     calls  name
 28.88      2.141     2.141     0.000     0.000      476   Kernel#`
 10.72      1.488     0.795     0.000     0.693  1963500   Tile#draw
  9.35      0.693     0.693     0.000     0.000  1963976   Gosu::Image#draw
  6.67      7.323     0.495     0.000     6.828      476   Gosu::Window#_tick
  1.38      0.102     0.102     0.000     0.000     2380   Gosu::Font#draw
  0.26      4.579     0.019     0.000     4.560    62832  *Array#each
  0.15      0.011     0.011     0.000     0.000      476   Gosu::Window#caption=
  0.09      6.873     0.007     0.000     6.867      476   PlayState#draw
  0.07      0.005     0.005     0.000     0.000      476   String#gsub
  0.06      2.155     0.004     0.000     2.151      476   GameWindow#memory_usage
  0.06      4.580     0.004     0.000     4.576     1904   Hash#each
  0.04      0.003     0.003     0.000     0.000      476   String#chomp
  0.04      0.038     0.003     0.000     0.035      476   Gosu::Window#protected_update
  0.04      0.004     0.003     0.000     0.001     3167   Gosu::Window#button_down?
  0.04      0.005     0.003     0.000     0.002      952   Enumerable#map
  0.03      0.015     0.003     0.000     0.012      476   Player#update
  0.03      4.596     0.002     0.000     4.593      476   <Module::Gosu>#scale
  0.03      0.002     0.002     0.000     0.000     5236   Fixnum#to_s
  0.03      7.326     0.002     0.000     7.324      476   Gosu::Window#tick
  0.03      0.003     0.002     0.000     0.001      952   Player#coord_facing
  0.03      4.598     0.002     0.000     4.597      476   <Module::Gosu>#translate
  0.02      0.002     0.002     0.000     0.000      952   Array#reject