我刚开始使用 C++,有时我不知道我的编译器有多喜欢算法的两种不同实现。有没有一个简单的工具可以用来查看我的代码执行需要多少时间?
编辑:我使用 gcc 编译器
我对 Smart Bear 的 AQtime 有很好的体验,它不是免费的,但你可以免费试用。它可以很好地集成到 Embarcardero 的 Visual C++ 和 RAD Studio 中。
http://smartbear.com/products/qa-tools/application-performance-profiling
这些数据在 IDE 中很容易访问,尤其是行号旁边的 gutter 部分中的命中数和花费的时间数字很有用。
如果您想确定整个程序运行了多长时间,那么 Code-Blocks/Visual Studio 应该会在程序关闭时告诉您。它应该在底部的日志中。
如果您想测量特定行或功能需要多长时间,我建议您研究
clock()
或QueryPerformanceFrequency()
以及如何使用它们。
该clock()
功能很慢,但更易于使用。一个例子:
float start_time = clock()/CLOCKS_PER_SEC;
func();
float end_time = clock()/CLOCKS_PER_SEC;
float dtime = start_time - end_time;