1个不稳定版本
| 0.1.0 | 2021年8月22日 |
|---|
#10 在 #measuring
12KB
147 行
calculagraph
一个方便的库,用于测量函数的执行时间。
用法
[dependencies]
calculagraph = "0.1"
use std::{thread, time};
use calculagraph::timer_println;
#[timer_println(ms)]
fn main() {
thread::sleep(time::Duration::from_millis(10));
println!("job done");
}
上面的示例将在最后打印 fn:main cost 10ms,您也可以使用第二个参数来定义所需的格式字符串。
更多
lib.rs:
一个方便的库,用于测量函数的执行时间。
使用
该crate的使用通过4个属性宏:#[timer_println]、#[timer_log_trace]、#[timer_log_info] 和 #[timer_log_debug]。
正如它们的名字所暗示的,timer_println 表示它将使用宏 println! 打印结果,而 timer_log_trace、timer_log_info 和 timer_log_debug 分别使用宏 log::trace!、log::info! 和 log::debug! 输出。
当然,在使用后三个宏时,应该链接日志门面及其实现。
示例
[dependencies]
calculagraph = "0.1"
use std::{thread, time};
use calculagraph::timer_println;
#[timer_println(ms)]
fn main() {
thread::sleep(time::Duration::from_millis(10));
println!("job done");
}
上面的示例将在最后打印 fn:main cost 10ms,您也可以使用第二个参数来定义所需的格式字符串。
注意
此宏添加了两个在普通业务中永远不会冲突的变量,它们是 now_x7bf707c839bc2554fa3f1913a8dc699b68236726c5da18b31f660948ca7f542a267de9b 和 result_x7bf707c839bc2554fa3f1913a8dc699b68236726c5da18b31f660948ca7f542a267de9b,只是不要有意使用它们。
依赖
~1.5MB
~35K SLoC