Merge pull request #590 from metrico/refactor/pprof

pprof module refactor
This commit is contained in:
akvlad
2024-10-23 13:34:32 +03:00
committed by GitHub
5 changed files with 2305 additions and 589 deletions

View File

@ -27,9 +27,15 @@ flate2 = "1.0"
# code size when deploying.
console_error_panic_hook = { version = "0.1.7", optional = true }
base64 = "0.22.1"
memchr = "2.7.4"
[dev-dependencies]
wasm-bindgen-test = "0.3.34"
criterion = { version = "0.5.1", features = ["html_reports"] }
[[bench]]
name = "my_benchmark"
harness = false
[profile.release]
# Tell `rustc` to optimize for small code size.

View File

@ -0,0 +1,18 @@
use pprof_bin::merge_prof;
use pprof_bin::utest::get_test_pprof_data;
use criterion::{black_box, criterion_group, criterion_main, Criterion};
fn merge_bench(pprofs: &Vec<Vec<u8>>) {
for pprof in pprofs {
merge_prof(0, pprof.as_slice(), "process_cpu:samples:count:cpu:nanoseconds".to_string());
}
}
fn criterion_benchmark(c: &mut Criterion) {
let pprofs = get_test_pprof_data();
c.bench_function("merge", |b| b.iter(|| merge_bench(&pprofs)));
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long