我很好奇 C++ 中是否有内置函数来测量执行时间? 我现在正在使用 Windows。在 Linux 中这很容易...
最佳答案
据我所知,在 Windows 上最好的方法是使用 QueryPerformanceCounter
和 QueryPerformanceFrequency
。
QueryPerformanceCounter(LARGE_INTEGER*)
将性能计数器的值放入传递的 LARGE_INTEGER 中。
QueryPerformanceFrequency(LARGE_INTEGER*)
将性能计数器递增到传递的 LARGE_INTEGER 中的频率。
然后,您可以通过在执行开始时记录计数器来找到执行时间,然后在执行结束时记录计数器。从末尾减去开始得到计数器的变化,然后除以频率得到以秒为单位的时间。
LARGE_INTEGER start, finish, freq;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start);
// Do something
QueryPerformanceCounter(&finish);
std::cout << "Execution took "
<< ((finish.QuadPart - start.QuadPart) / (double)freq.QuadPart) << std::endl;
关于c++ - 查找 C++ 执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3400309/