CPU时间是指一段程序在CPU上面运行消耗的时间,也是内核时间(kernel time)。在Linux/Unix系统里面,C++程序的COU时间可以用一些第三方的库提供的函数测出。但是在Windows系统里面,没有可以直接使用的第三方函数。在这里一般需要使用第三方软件(performance tools)。
1. IBM Purifyplus Quantify. 是一个非常好的工具,可以很好的得到函数之间的调用关系(call relation)。可惜不支持mingw-sdk.
2. Intel Vtune. 对Intel CPU支持的功能更强大。
3. SmartBear AQtime Standard/Pro. 通过修改编译参数(compile arguments)使得编译信息(debugger information)添加到运行程序里。
这些软件Windows版的都是收费软件。
系统时间(wall clock time, elapsed time). 是指一段程序从运行到终止,系统时钟走过的时间。一般来说,系统时间都是要大于CPU时间的。通常这类时间可以由系统提供,在C++/Windows中,可以由<time.h>提供。注意得到的时间精度是和系统有关系的。
@Eindhoven.NL