Dol*_*lph 192
#include <iostream>
#include <cstdio>
#include <ctime>
int main() {
std::clock_t start;
double duration;
start = std::clock();
/* Your algorithm here */
duration = ( std::clock() - start ) / (double) CLOCKS_PER_SEC;
std::cout<<"printf: "<< duration <<'\n';
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*n G 64
可以使用自C++ 11以来可移植且具有更高精度的替代解决方案std::chrono.
这是一个例子:
#include <iostream>
#include <chrono>
typedef std::chrono::high_resolution_clock Clock;
int main()
{
auto t1 = Clock::now();
auto t2 = Clock::now();
std::cout << "Delta t2-t1: "
<< std::chrono::duration_cast<std::chrono::nanoseconds>(t2 - t1).count()
<< " nanoseconds" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
在ideone.com上运行这个给了我:
Delta t2-t1: 282 nanoseconds
Run Code Online (Sandbox Code Playgroud)
Shi*_*rik 29
clock()返回自程序启动以来的时钟周期数.有一个相关常量,CLOCKS_PER_SEC它告诉你一秒钟内发生了多少个时钟滴答.因此,您可以测试这样的任何操作:
clock_t startTime = clock();
doSomeOperation();
clock_t endTime = clock();
clock_t clockTicksTaken = endTime - startTime;
double timeInSeconds = clockTicksTaken / (double) CLOCKS_PER_SEC;
Run Code Online (Sandbox Code Playgroud)