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