Skip to main content

profiling

Profile Lean programs with demangled names using samply and Firefox Profiler. Use when the user asks to profile a Lean binary or investigate performance.

Source facts

Repository
leanprover/lean4
Last source activity
March 1, 2026 at 07:09
Detected SKILL.md language
English
Stars
9,975
Forks
1,104

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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 ```bash 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`, then `serve_profile.py`. - `lean_demangle.py` works standalone as a stdin filter (like `c++filt`) for quick name lookups. - The `--raw` flag on `lean_demangle.py` gives exact demangled names without postprocessing (keeps `._redArg`, `._lam_0` suffixes as-is). - Use `PROFILE_KEEP=1` to keep the temp directory for later inspection. - The demangled profile is a standard Firefox Profiler JSON. Function names live in `threads[i].stringArray`, indexed by `threads[i].funcTable.name`.
View on GitHub