提问人:ajp 提问时间:11/8/2023 最后编辑:Peter Cordesajp 更新时间:11/8/2023 访问量:51
如何最好地确保指针已读入寄存器,以便进行基准测试?
how best to ensure that pointer has been read into register, for benchmarking purposes?
问:
我有一些代码大致是这样的
unsafe fn foo(p: *const X) {
let x = *p;
let begin = Instant::now();
... // potentially expensive processing of x
let duration = begin.elapsed();
}
问题在于,由于无序执行等原因,通常会包括等待从内存中读取所花费的时间。我有理由想对“潜在昂贵的处理”进行基准测试,而不考虑等待时间。我能做些什么?这是内存屏障/栅栏的地方吗?(请注意,我在这里只关心单线程执行)duration
p
答: 暂无答案
评论