我正在对RAM中的文件系统进行基准测试,我正在运行的当前测试大约需要0.6秒。为了获得好的数据,我需要确切知道程序何时开始和结束。目前的方法给出了这个输出:2016年5月7日星期六19:24:46,但我还需要知道几毫秒。 该程序在linux下通过运行此命令在c ++中执行:g ++ -std = c ++ 11 2cprogram.cpp
std::time_t result = std::time(NULL);
std::cout << std::ctime(&result);
答案 0 :(得分:1)
C ++ 11引入了新的<chrono>
库。您可以使用high_resolution_clock
来衡量时差,然后将其转换为std::duration
#include <iostream>
#include <thread>
int main() {
auto start = std::chrono::high_resolution_clock::now();
std::this_thread::sleep_for(std::chrono::duration<double, std::milli>(600));
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> elapsed = end-start;
std::cout << "Waited " << elapsed.count() << " ms\n";
}
示例取自cppreference.com
答案 1 :(得分:0)
您应该使用clock_gettime()
。