# The `build` benchmark This benchmark executes a complete build of the stage3 stdlib from stage2 and collects global and per-module metrics. This is different from most other benchmarks, which benchmark the stage the bench suite is being executed in. The following metrics are collected by a wrapper around the entire build process: - `build//cycles` - `build//instructions` - `build//maxrss` - `build//task-clock` - `build//wall-clock` The following metrics are collected from `leanc --profile` and `leanc --stat` and summed across all modules: - `build/profile///wall-clock` - `build/stat///amount` - `build/stat///bytes` The following metrics are collected from `lakeprof report`: - `build/lakeprof/longest build path//wall-clock` - `build/lakeprof/longest rebuild path//wall-clock` The following metrics are collected individually for each module: - `build/module///lines` - `build/module///cycles` - `build/module///instructions` - `build/module///bytes .ilean` - `build/module///bytes .olean` - `build/module///bytes .olean.server` - `build/module///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.