name: profiling description: Profile Lean programs with demangled names using samply and Firefox Profiler. Use when the user asks to profile a Lean binary or investigate performance. allowed-tools: Bash, Read, Glob, Grep
Profiling Lean Programs
Full documentation: script/PROFILER_README.md.
Quick Start
script/lean_profile.sh ./build/release/stage1/bin/lean some_file.lean
Requires samply (cargo install samply) and python3.
Agent Notes
- The pipeline is interactive (serves to browser at the end). When running non-interactively, run the steps manually instead of using the wrapper script.
- The three steps are:
samply record --save-only,symbolicate_profile.py, thenserve_profile.py. lean_demangle.pyworks standalone as a stdin filter (likec++filt) for quick name lookups.- The
--rawflag onlean_demangle.pygives exact demangled names without postprocessing (keeps._redArg,._lam_0suffixes as-is). - Use
PROFILE_KEEP=1to keep the temp directory for later inspection. - The demangled profile is a standard Firefox Profiler JSON. Function names live in
threads[i].stringArray, indexed bythreads[i].funcTable.name.