遇到困难,再次请教大家. 一个项目,执行缓慢。现在想找出瓶颈,因为有多个模块,有没有什么工具可以方便的显示单个模块的运行时间,最好能精确到行数? 看了下 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
感谢,从结果看是不是可以理解为只花掉了几十毫秒,所以问题不在这?
https://github.com/ruby-prof/ruby-prof
#3 楼 @reus 嗯嗯,这个刚在 1L 的指点下找到,还没来得及尝试,谢谢。
#3 楼 @reus 给力,要的就是这个效果,再次感谢。