I’m hitting a small snag when profiling Rust benchmarks using cargo bench. Since these benchmarks typically include a warmup period (usually ~5s), the samples collected during that window are skewing the results. APerf’s diagnostics and IPC analysis get a bit "confused" by the low-utilization data from the warmup/cooldown phases, making the final report less representative of the actual steady-state performance.
Proposed Solution
It would be awesome if we could add begin and end offsets to the diff and viewer tools. This would allow us to:
Filter out the noise: Manually exclude the warmup/cooldown windows from the visualization and analysis.
Post-collection slicing: If I collect a large sample set (e.g., scaling from 1 to 16 threads), I could use these offsets to "zoom in" on a specific thread count's execution window without needing to re-run the collection.
I think this would make the tool even more powerful for benchmarkers. Let me know what you think!
I’m hitting a small snag when profiling Rust benchmarks using cargo bench. Since these benchmarks typically include a warmup period (usually ~5s), the samples collected during that window are skewing the results. APerf’s diagnostics and IPC analysis get a bit "confused" by the low-utilization data from the warmup/cooldown phases, making the final report less representative of the actual steady-state performance.
Proposed Solution
It would be awesome if we could add begin and end offsets to the diff and viewer tools. This would allow us to:
Filter out the noise: Manually exclude the warmup/cooldown windows from the visualization and analysis.
Post-collection slicing: If I collect a large sample set (e.g., scaling from 1 to 16 threads), I could use these offsets to "zoom in" on a specific thread count's execution window without needing to re-run the collection.
I think this would make the tool even more powerful for benchmarkers. Let me know what you think!