C++;Windows上的探查器 我在C++的开头,有时我不知道我的编译器会喜欢两个不同的AlgRoTITM实现。 是否有一个简单的工具可以用来查看代码执行所需的时间
编辑:Im使用gcc编译器免费C++;Windows上的探查器 我在C++的开头,有时我不知道我的编译器会喜欢两个不同的AlgRoTITM实现。 是否有一个简单的工具可以用来查看代码执行所需的时间,c++,windows,profiler,C++,Windows,Profiler,编辑:Im使用gcc编译器免费 不是免费的 我对Smart Bear的AQtime有很好的体验,它不是免费的,但您可以免费试用。它从ActuCARDROO集成到Visual C++和RAD Studio中。 IDE中的数据很容易访问,特别是行号旁边的“边距”部分中的命中数和花费的时间数非常有用。如果要测量整个程序运行的时间,则代码块/Visual studio应该 当程序关闭时告诉您。它应该在底部的日志中 如果你想测量一条特定的线或函数需要多长时间,我建议你最好进行研究 clo
IDE中的数据很容易访问,特别是行号旁边的“边距”部分中的命中数和花费的时间数非常有用。如果要测量整个程序运行的时间,则代码块/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;
谷歌测试做评测?!使用高精度计时器对执行算法的代码计时1000次。请记住,
clock
在Windows上执行的操作与在Unix(Linux、MacOS等)上不同。如果您的代码只是普通代码,则差别不大,但如果您执行I/O操作或以其他方式导致系统运行其他操作,则在Windows中,clock
给出代码运行的总时间,而在Unix中,它给出了程序消耗的CPU时间-因此执行10秒的文件I/0操作可能会显示为0.02s
,因为这是多少时间实际上是CPU时间,但它需要10秒的“实时”。