#execution-time #measuring #handy #format-string #println #timer #ms

calculagraph

一个方便的库,用于测量函数的执行时间。

1个不稳定版本

0.1.0 2021年8月22日

#10#measuring

Apache-2.0

12KB
147

calculagraph

一个方便的库,用于测量函数的执行时间。

Package

用法

[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,您也可以使用第二个参数来定义所需的格式字符串。

更多

https://docs.rs/calculagraph


lib.rs:

一个方便的库,用于测量函数的执行时间。

使用

该crate的使用通过4个属性宏:#[timer_println]#[timer_log_trace]#[timer_log_info]#[timer_log_debug]

正如它们的名字所暗示的,timer_println 表示它将使用宏 println! 打印结果,而 timer_log_tracetimer_log_infotimer_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_x7bf707c839bc2554fa3f1913a8dc699b68236726c5da18b31f660948ca7f542a267de9bresult_x7bf707c839bc2554fa3f1913a8dc699b68236726c5da18b31f660948ca7f542a267de9b,只是不要有意使用它们。

依赖

~1.5MB
~35K SLoC