带有chrono的C++ 11中的定时器:从纳秒到毫秒

dyn*_*mic 3 c++ performance c++11

我想知道函数的毫秒数.我正在使用这样的计时器:

chrono::system_clock::time_point start = chrono::high_resolution_clock::now();

// big_function ...

cout << "Function took: " << chrono::nanoseconds(chrono::high_resolution_clock::now() - start).count() << "nanosec" << endl;   
Run Code Online (Sandbox Code Playgroud)

这打印:"Function took: 32423212131321 nanosec"
有没有办法打印毫秒而不是纳秒?

For*_*veR 6

您可以使用 duration_cast

chrono::duration_cast<chrono::milliseconds>
       (chrono::high_resolution_clock::now() - start).count()
Run Code Online (Sandbox Code Playgroud)

  • +1和更多信息.`duration_cast`将截断为零.如果您想要其他一些舍入模式,请使用以下实用程序之一:http://home.roadrunner.com/~hinnant/duration_io/chrono_util.html它们允许您向+/-无穷大舍入或向最近舍入. (2认同)