This PR adds per-module `.ilean` and `.olean` file size metrics, global and per-module cycle counting, and adds back `lean --stat`-based metrics. It also renames some `size/*` metrics to get rid of the name `stdlib`.
1.1 KiB
1.1 KiB
The build benchmark
This benchmark executes a complete build of the stage3 stdlib and collects global and per-module metrics.
The following metrics are collected by a wrapper around the entire build process:
build//cyclesbuild//instructionsbuild//maxrssbuild//task-clockbuild//wall-clock
The following metrics are collected from leanc --profile and leanc --stat and summed across all modules:
build/profile/<name>//wall-clockbuild/stat/<name>//amountbuild/stat/<name>//bytes
The following metrics are collected from lakeprof report:
build/lakeprof/longest build path//wall-clockbuild/lakeprof/longest rebuild path//wall-clock
The following metrics are collected individually for each module:
build/module/<name>//linesbuild/module/<name>//cyclesbuild/module/<name>//instructionsbuild/module/<name>//bytes .ileanbuild/module/<name>//bytes .oleanbuild/module/<name>//bytes .olean.serverbuild/module/<name>//bytes .olean.private
If the file build_upload_lakeprof_report is present in the repo root,
the lakeprof report will be uploaded once the benchmark run concludes.