#elapsed-time #benchmark #concise #handy #measure #function #timestamp

time-elapsed

一个 Rust 包,提供了一种简洁且方便的方法来在函数内进行耗时测试

1 个不稳定版本

0.1.0 2022年12月19日

#11 in #elapsed-time

每月下载 35
用于 cpg

MIT 许可证

10KB
97

time-elapsed

一个 Rust 包,提供了一种简洁且方便的方法来在函数内进行耗时测试。

time-elapsed 会带来一点开销,但是如果你正在尝试测量非常短的时间(以 纳秒 或几个 微秒 为顺序),请考虑使用其他方法。

安装

将以下内容添加到 Cargo.toml 中

[dependencies]
time-elapsed = "0.1.0"

功能

  • 命名基准测试
  • 时间戳
  • 彩色信息
  • 自动单位

示例

代码

use std::thread;
use std::time::Duration;

use time_elapsed;

fn main() {
    let mut time = time_elapsed::start("test");

    // sleep 200 ms
    thread::sleep(Duration::from_millis(200));

    time
        .log("log() prints a message and the time elapsed")
        .timestamp();

    // sleep 2 ms
    thread::sleep(Duration::from_millis(2));

    time.log("this is an offset from the previous timestamp()");

    time.log_overall("log_overall() ignores timestamps");

    time.end();
}

输出

running test...
(test) log() prints a message and the time elapsed -> 200 ms
(test) this is an offset from the previous timestamp() -> 2103 μs
(test) log_overall() ignores timestamps -> 202 ms
test finished in 202 ms (202271 μs)

无运行时依赖