这是c++11的一个新的库,可以用于计算代码执行的时间。
下面使用了chrono计算各种运算所花费的时间。
#include#include #include using namespace std; void test_exec_time() { //------------------------------- * auto start = std::chrono::steady_clock::now(); double res = 25622556 * 1230256; auto end = std::chrono::steady_clock::now(); std::chrono::duration elapsed1 = end - start; std::chrono::duration elapsed2 = end - start; std::cout << "* exec time = " << elapsed1.count() << " 微秒" << std::endl; std::cout << "* exec time = " << elapsed2.count() << " 纳秒" << std::endl; //----------------------------------- / start = std::chrono::steady_clock::now(); res = 25622556 / 648; end = std::chrono::steady_clock::now(); elapsed1 = end - start; elapsed2 = end - start; std::cout << "/ exec time = " << elapsed1.count() << " 微秒" << std::endl; std::cout << "/ exec time = " << elapsed2.count() << " 纳秒" << std::endl; //-------------------------------------- - start = std::chrono::steady_clock::now(); res = 25622556 - 648; end = std::chrono::steady_clock::now(); elapsed1 = end - start; elapsed2 = end - start; std::cout << "- exec time = " << elapsed1.count() << " 微秒" << std::endl; std::cout << "- exec time = " << elapsed2.count() << " 纳秒" << std::endl; //--------------------------------------- + start = std::chrono::steady_clock::now(); res = 25622556 + 648; end = std::chrono::steady_clock::now(); elapsed1 = end - start; elapsed2 = end - start; std::cout << "+ exec time = " << elapsed1.count() << " 微秒" << std::endl; std::cout << "+ exec time = " << elapsed2.count() << " 纳秒" << std::endl; //--------------------------------------- | start = std::chrono::steady_clock::now(); res = 25622556 | 648; end = std::chrono::steady_clock::now(); elapsed1 = end - start; elapsed2 = end - start; std::cout << "| exec time = " << elapsed1.count() << " 微秒" << std::endl; std::cout << "| exec time = " << elapsed2.count() << " 纳秒" << std::endl; //--------------------------------------- & start = std::chrono::steady_clock::now(); res = 25622556 & 648; end = std::chrono::steady_clock::now(); elapsed1 = end - start; elapsed2 = end - start; std::cout << "& exec time = " << elapsed1.count() << " 微秒" << std::endl; std::cout << "& exec time = " << elapsed2.count() << " 纳秒" << std::endl; } int main() { test_exec_time(); return 0; }



