贡献者: 待更新
一个最简单的方法是 tic, toc
。但是缺点是过于简单,若要统计层层调用的函数中具体哪里是性能瓶颈比较困难。
另一个方法是 profile viewer
。运行以后弹出统计窗口。会统计一段时间内每个被调用函数的耗时。在窗口中按下 Start Profiling
按钮开始统计,再按一次停止统计。
在 Flame Graph 中,你可以看到函数调用的结构,每个长方形代表一个函数,长方形的长度代表耗时。若一个函数在另一个函数上面,说明它被后者调用。
下面的表格中列出每个函数被调用的次数,总耗时,以及自耗时(Self Time)。自耗时是该函数的总耗时减去它调用的子函数的耗时。右边的浅紫色条是总耗时,而深紫色条是自耗时。