#timer #clock #chrono #measure #how #long #execute

howlong

测量程序在不同时钟下执行所需时间

8 个版本

0.1.7 2021年4月5日
0.1.6 2020年10月20日
0.1.5 2020年6月20日
0.1.4 2020年4月19日
0.1.2 2019年12月6日

#188性能分析

Download history 21/week @ 2024-03-12 56/week @ 2024-03-19 101/week @ 2024-03-26 109/week @ 2024-04-02 62/week @ 2024-04-09 23/week @ 2024-04-16 37/week @ 2024-04-23 18/week @ 2024-04-30 96/week @ 2024-05-07 19/week @ 2024-05-14 47/week @ 2024-05-21 100/week @ 2024-05-28 100/week @ 2024-06-04 138/week @ 2024-06-11 21/week @ 2024-06-18 45/week @ 2024-06-25

每月 359 次下载
benchlib-rs 中使用

MIT/Apache

37KB
701 代码行

howlong

Build Status Latest Version Rust Documentation

这个 crate 允许你测量程序在不同时钟下执行所需的时间。它移植了 boost-chronoboost-timer 库的功能。

实现了以下时钟及其对应的计时器。

  • SystemClock, SystemTimer
  • SteadyClock, SteadyTimer(如果系统支持)。
  • HighResolutionClock, HighResolutionTimer
  • ProcessRealCPUClock, ProcessRealCPUTimer
  • ProcessUserCPUClock, ProcessUserCPUTimer
  • ProcessSystemCPUClock, ProcessSystemCPUTimer
  • ProcessCPUClock, ProcessCPUTimer
  • ThreadClock, ThreadTimer

文档

https://docs.rs/howlong

用法

将以下内容添加到你的 Cargo.toml

[dependencies]
howlong = "0.1"

示例

let timer = howlong::HighResolutionTimer::new();
// do some computations
println!("{:?} have passed.", timer.elapsed());

let timer = howlong::ProcessCPUTimer::new();
// do other computations
println!("{}", timer.elapsed()); // 5.71s wall, 5.70s user + 0ns system = 5.70s CPU (99.8%)

许可证

根据你的选择,在 Apache License, Version 2.0MIT 许可证 下许可。
除非你明确表示,否则你提交给此 crate 的任何有意贡献,根据 Apache-2.0 许可证的定义,应如上双许可,无需任何额外条款或条件。

依赖项

~0.3–1MB
~21K SLoC