puffin is an instrumentation profiler where you opt-in to profile parts of your code:
fn my_function() {
puffin::profile_function!();
if ... {
puffin::profile_scope!("load_image", image_name);
...
}
}puffin_egui allows you to inspect the resulting profile data using egui with only one line of code:
puffin_egui::profiler_window(egui_ctx);See the examples/ folder for how to use it with eframe.
To try it out, run cargo run --release --example eframe
