我正在尝试测试我的代码部分的效率,而C++有一个clock功能ctime,允许使用该clock_t类型测量程序所消耗的处理器时间.是否有一些Rust等价物不仅仅是测量代码中两点之间的绝对时间?
如果需要使用clock,那么你需要添加一些垫片.至少在OS X上,似乎libc没有暴露clock,但它确实给你clock_t(这是等式中较难的部分).暴露clock是直截了当的:
extern crate libc;
mod ffi {
extern {
pub fn clock() -> ::libc::clock_t;
}
}
fn main() {
let start = unsafe { ffi::clock() };
let mut dummy = 0;
for i in 0..20000 { dummy += i };
let end = unsafe { ffi::clock() };
println!("{}, {}, {}, {}", dummy, start, end, end - start);
}
Run Code Online (Sandbox Code Playgroud)
我可能会制作一个包装,clock在任何情况下都可以安全地打电话.