#timing #execution #sample #stop #measure #processor #trace

rprofile

一个简单的crate,用于测量执行中选定样本的处理器时间

4个版本

0.1.3 2024年8月21日
0.1.2 2024年8月20日
0.1.1 2024年8月20日
0.1.0 2024年8月20日

#9 in #stop

Download history 436/week @ 2024-08-17

每月 436 次下载

MIT 许可证

5KB
58 代码行

该crate允许跟踪样本执行,在开始和停止跟踪之间,并提取消耗最多资源的函数的统计信息。

示例用法

fn k() {
    trace_cpu!("k", for _i in 0..1000 {})
}

fn f() {
    for i in 0..100 {
        trace_cpu!("g", g());
    }
    for j in 0..10000 {}
}

fn g() {
    for i in 0..100 {
        k()
    }
}
fn main() {
    start();
    trace_cpu!("f1", f());
    trace_cpu!("f2", f());
    stop();
    f();
    show();
}

将输出

f2                            : 1          calls | 43.356     total ms -- Timing overhead 10.1       ms
k                             : 20000      calls | 58.118     total ms -- Timing overhead 0          ms
f1                            : 1          calls | 40.9       total ms -- Timing overhead 10.1       ms
g                             : 200        calls | 83.916     total ms -- Timing overhead 20         ms

超时时间指示在定时宏中花费的时间量。

依赖关系

~1–6.5MB
~22K SLoC