From 76f5edb2bcc227c2be743873753792dbc5af1f48 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sun, 27 Sep 2026 18:47:05 +0100 Subject: Add a sampling profiler for machines without perf benchmarks/sample.c runs a command and samples where its threads spend user time (the task clock every 50 us, one perf_event_open event a CPU, since the kernel maps no ring for an inherited per-task event), then names the samples from the ELF symbol tables of the files the command had mapped: a stripped library from its debug file by build id. On arm64 it also takes the link register, so time in a library's leaf (memcpy, strcmp) is shown again by its caller. The command's user and system time head the report. --- .gitignore | 1 + 1 file changed, 1 insertion(+) (limited to '.gitignore') diff --git a/.gitignore b/.gitignore index 4d30289..f8cdd02 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,6 @@ __pycache__/ /prototypes/*/node_modules/ /benchmarks/http/axum-baseline/target/ /benchmarks/http/load +/benchmarks/sample /benchmarks/http/*.pmod /build/ -- cgit v1.2.3