新手问题 调试 Ruby 项目 (已解决)

hellomac · 2013年08月18日 · 最后由 hellomac 回复于 2013年08月18日 · 2778 次阅读

遇到困难,再次请教大家. 一个项目,执行缓慢。现在想找出瓶颈,因为有多个模块,有没有什么工具可以方便的显示单个模块的运行时间,最好能精确到行数? 看了下 pry 和 ruby-debugger, 似乎都不符合要求。是我姿势不对吗?

这个要搜 profiler

#1 楼 @bhuztez

GC::Profiler.enable
#加载模块
include TestGC
#调用测试方法
testabc(parm1,parm2,parm3,parm4)
GC::Profiler.report
GC::Profiler.disable

输出的结果

GC 50 invokes.
Index    Invoke Time(sec)       Use Size(byte)     Total Size(byte)         Total Object                    GC Time(ms)
    1               2.233              6518760              8156280               203907        24.23099999999989151434
    2               2.323              6473280              8156280               203907        23.49300000000020816060
    3               2.415              6473280              8156280               203907        23.32899999999993312372
    4               2.503              6473280              8156280               203907        22.77199999999979240783

感谢,从结果看是不是可以理解为只花掉了几十毫秒,所以问题不在这?

#3 楼 @reus 嗯嗯,这个刚在 1L 的指点下找到,还没来得及尝试,谢谢。

#3 楼 @reus 给力,要的就是这个效果,再次感谢。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号