不同语言的计时方法

剖析代码性能时通常需要计时。下面记录不同语言的各种计时方法。

C++计时方法

传统计时方法的代码如下:

1
2
3
4
5
6
7
#include <ctime>
using namespace std;

clock_t start = clock();
// do something...
clock_t end = clock();
cout << "花费了" << (double)(end - start) / CLOCKS_PER_SEC << "秒" << endl;

C++11 标准的”最佳计时方法“的代码:

1
2
3
4
5
6
7
8
9
10
11
#include <chrono>   
using namespace std;
using namespace chrono;

auto start = system_clock::now();
// do something...
auto end = system_clock::now();
auto duration = duration_cast<microseconds>(end - start);
cout << "花费了"
<< double(duration.count())
<< "微秒" << endl;

Python计时方法

在Jupyter Notebook中,计时使用一个magic command:%timeit。

参考链接

  1. C++11 新的计时方法——std::chrono 大法好,by sicolex.