自定义Profile工具
许多IDE都有Profile功能,那么如何自定义一个Profile工具,并进行可视化呢?
本文为个人总结,主要参考:
自定义Profile类
Profile主要包含两个功能:计时和格式化输出结果。计时主要用到chrono类,而格式化输出按照Chrome Tracing Format格式输出即可。直接看代码,代码部分不难理解,注意多线程部分即可:
1 |
|
测试Profile功能
下面对两个排序函数进行Profile,代码如下:
1 |
|
最终以json格式输出的Profile结果文件如下:
1 | { |
可视化Profile结果
将json文件放入chrome://tracing/中进行可视化,结果如下:
可以从中看到有3个线程,以及各函数的运行时间线,这对于调试程序性能、理解程序结构等十分有用。