我正在尝试测量执行时间。我在 Windows 10 上并使用 gcc 编译器。
start_t = chrono::system_clock::now();
tree->insert();
end_t = chrono::system_clock::now();
rslt_period = chrono::duration_cast<chrono::nanoseconds>(end_t - start_t);
这是我的代码,用于测量bp_w->insert()
函数插入工作的时间,如跟随(只是伪代码)
insert(){
_load_node(node);
// do something //
_save_node(node, addr);
}
_save_node(n){
ofstream file(name);
file.write(n);
file.close();
}
_load_node(n, addr){
ifstream file(name);
file.read_from(n, addr);
file.close();
}
实际结果是,read 是_load_node
执行次数。write 是_save_node
执行次数。时间是纳秒。
read write time
1 1 1000000
1 1 0
2 1 0
1 1 0
1 1 0
1 1 0
2 1 0
1 1 1004000
1 1 1005000
1 1 0
1 1 0
1 1 15621000
我不知道为什么会出现这个结果并想知道。