是否有一个与C++中的时钟函数相当的Rust?

Har*_*ock 6 libc rust

我正在尝试测试我的代码部分的效率,而C++有一个clock功能ctime,允许使用该clock_t类型测量程序所消耗的处理器时间.是否有一些Rust等价物不仅仅是测量代码中两点之间的绝对时间?

She*_*ter 5

如果需要使用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在任何情况下都可以安全地打电话.

  • 知道为什么 `libc` 不包含 `clock` 的任何原因。`clock` 似乎在 `C` stdlib 中。 (2认同)