- attributes: description: stdlib tags: [slow] time: &time #runner: time # alternative config: use `perf stat` for extended properties runner: perf_stat perf_stat: properties: [ "wall-clock", "task-clock", "instructions", "branches", "branch-misses", ] rusage_properties: ["maxrss"] run_config: <<: *time cmd: | bash -c 'set -eo pipefail; touch ../../src/Init/Prelude.lean; make LEAN_OPTS="-Dprofiler=true -Dprofiler.threshold=9999" -C ${BUILD:-../../build/release}/stage2 --output-sync -j$(nproc) 2>&1 | ./accumulate_profile.py' max_runs: 2 parse_output: true # initialize stage2 cmake + warmup build_config: cmd: | bash -c 'make -C ${BUILD:-../../build/release} stage2 -j$(nproc)' - attributes: description: stdlib size tags: [deterministic, fast] run_config: cwd: ../../ cmd: | set -euxo pipefail echo -n 'lines: ' find src -name '*.lean' -print0 | wc -l --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'bytes .olean: ' find ${BUILD:-build/release}/stage2/lib/lean -name '*.olean' -print0 | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'bytes .olean.server: ' find ${BUILD:-build/release}/stage2/lib/lean -name '*.olean.server' -print0 | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'bytes .olean.private: ' find ${BUILD:-build/release}/stage2/lib/lean -name '*.olean.private' -print0 | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'lines C: ' find ${BUILD:-build/release}/stage2/lib/temp -name '*.c' -print0 | wc -l --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'lines C++: ' find src \( -name '*.h' -o -name '*.cpp' \) -print0 | wc -l --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'max dynamic symbols: ' find ${BUILD:-build/release}/stage2/lib/lean -name '*.a' -exec bash -c 'nm {} | grep " T " | wc -l' \; | sort --reverse --numeric-sort | head -n1 max_runs: 1 runner: output - attributes: description: Init size tags: [deterministic, fast] run_config: cwd: ../../ cmd: | set -euxo pipefail echo -n 'bytes .olean: ' find ${BUILD:-build/release}/stage2/lib/lean/Init -name '*.olean' -print0 | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'bytes .olean.server: ' find ${BUILD:-build/release}/stage2/lib/lean/Init -name '*.olean.server' -print0 | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 echo -n 'bytes .olean.private: ' find ${BUILD:-build/release}/stage2/lib/lean/Init -name '*.olean.private' -print0 | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 max_runs: 1 runner: output - attributes: description: libleanshared.so tags: [deterministic, fast] run_config: cmd: | set -eu echo -n 'binary size: ' wc -c ${BUILD:-../../build/release}/stage2/lib/lean/libleanshared.so | cut -d' ' -f 1 max_runs: 1 runner: output - attributes: description: Init.Prelude async tags: [fast] run_config: <<: *time cwd: ../../src cmd: lean -Dexperimental.module=true Init/Prelude.lean - attributes: description: Init.Data.List.Sublist async tags: [fast] run_config: <<: *time cwd: ../../src cmd: lean -Dexperimental.module=true Init/Data/List/Sublist.lean - attributes: description: Std.Data.Internal.List.Associative tags: [fast] run_config: <<: *time cwd: ../../src cmd: lean -Dexperimental.module=true Std/Data/Internal/List/Associative.lean - attributes: description: Std.Data.DHashMap.Internal.RawLemmas tags: [fast] run_config: <<: *time cwd: ../../src cmd: lean -Dexperimental.module=true Std/Data/DHashMap/Internal/RawLemmas.lean - attributes: description: Init.Data.BitVec.Lemmas tags: [fast] run_config: <<: *time cwd: ../../src cmd: lean -Dexperimental.module=true Init/Data/BitVec/Lemmas.lean - attributes: description: Init.Data.List.Sublist re-elab -j4 run_config: <<: *time cwd: ../../src cmd: lean --run ../script/benchReelabRss.lean lean Init/Data/List/Sublist.lean 10 -j4 -Dexperimental.module=true max_runs: 2 - attributes: description: Init.Data.BitVec.Lemmas re-elab run_config: <<: *time cwd: ../../src cmd: lean --run ../script/benchReelabRss.lean lean Init/Data/BitVec/Lemmas.lean 2 -j4 -Dexperimental.module=true max_runs: 2 - attributes: description: import Lean tags: [fast] run_config: <<: *time cwd: ../../src cmd: lean Lean.lean - attributes: description: tests/compiler tags: [deterministic, slow] run_config: cwd: ../compiler/ cmd: | set -eu printf 'sum binary sizes: ' for f in *.lean; do ../bench/compile.sh $f; printf '%s\0' "$f.out"; done | wc -c --files0-from=- | tail -1 | cut -d' ' -f 1 max_runs: 1 runner: output - attributes: description: tests/bench/ interpreted tags: [slow] run_config: <<: *time cmd: | bash -c ' set -euxo pipefail ulimit -s unlimited for f in *.args; do lean --run ${f%.args} $(cat $f) done ' max_runs: 2 - attributes: description: binarytrees tags: [fast, suite] run_config: <<: *time cmd: ./binarytrees.lean.out 21 build_config: cmd: ./compile.sh binarytrees.lean - attributes: description: binarytrees.st tags: [fast, suite] run_config: <<: *time cmd: ./binarytrees.st.lean.out 21 build_config: cmd: ./compile.sh binarytrees.st.lean - attributes: description: const_fold tags: [fast, suite] run_config: <<: *time cmd: bash -c "ulimit -s unlimited && ./const_fold.lean.out 23" build_config: cmd: ./compile.sh const_fold.lean - attributes: description: deriv tags: [fast, suite] run_config: <<: *time cmd: ./deriv.lean.out 10 build_config: cmd: ./compile.sh deriv.lean - attributes: description: lake build clean tags: [slow] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited cd inundation lake -flakefile-clean.lean clean lake -flakefile-clean.lean build " max_runs: 2 build_config: cmd: | bash -c " set -ex ulimit -s unlimited cd inundation cp lakefile.lean lakefile-clean.lean lake -flakefile-clean.lean -Ktest=Clean run mkBuild lake -flakefile-clean.lean build " - attributes: description: lake build no-op tags: [fast] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited lake -dinundation -flakefile-nop.lean build " build_config: cmd: | bash -c " set -ex ulimit -s unlimited cd inundation cp lakefile.lean lakefile-nop.lean lake -flakefile-nop.lean -Ktest=Nop run mkBuild lake -flakefile-nop.lean build " - attributes: description: lake config elab tags: [fast] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited lake -dinundation -flakefile-rc.lean -R run nop " build_config: cmd: cp inundation/lakefile.lean inundation/lakefile-rc.lean - attributes: description: lake config import tags: [fast] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited lake -dinundation run nop " build_config: cmd: | bash -c " set -ex ulimit -s unlimited lake -dinundation run nop " - attributes: description: lake config tree tags: [fast] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited lake -dinundation/test/tree run nop " build_config: cmd: | lake -dinundation run mkTree lake -dinundation/test/tree update - attributes: description: lake env tags: [fast] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited lake -dinundation env true " build_config: cmd: lake -dinundation env true - attributes: description: lake startup tags: [fast] run_config: <<: *time cmd: | bash -c " set -ex ulimit -s unlimited lake self-check " - attributes: description: language server startup tags: [fast] run_config: <<: *time cmd: lean -Dlinter.all=false --run server_startup.lean - attributes: description: ilean roundtrip tags: [fast] run_config: <<: *time cmd: ./ilean_roundtrip.lean.out 200000 parse_output: true build_config: cmd: ./compile.sh ilean_roundtrip.lean - attributes: description: identifier auto-completion tags: [fast] run_config: <<: *time cmd: lean -Dlinter.all=false --run identifier_completion_runner.lean parse_output: true - attributes: description: liasolver tags: [fast, suite] run_config: <<: *time cmd: ./liasolver.lean.out ex-50-50-1.leq build_config: cmd: ./compile.sh liasolver.lean - attributes: description: parser tags: [fast, suite] run_config: <<: *time cmd: ./parser.lean.out ../../src/Init/Prelude.lean 50 build_config: cmd: ./compile.sh parser.lean - attributes: description: qsort tags: [fast, suite] run_config: <<: *time cmd: ./qsort.lean.out 400 build_config: cmd: ./compile.sh qsort.lean - attributes: description: rbmap tags: [fast, suite] run_config: <<: *time cmd: ./rbmap.lean.out 2000000 build_config: cmd: ./compile.sh rbmap.lean - attributes: description: rbmap_1 tags: [fast, suite] run_config: <<: *time cmd: ./rbmap_checkpoint.lean.out 2000000 1 build_config: cmd: ./compile.sh rbmap_checkpoint.lean - attributes: description: rbmap_10 tags: [fast, suite] run_config: <<: *time cmd: ./rbmap_checkpoint.lean.out 2000000 10 build_config: cmd: ./compile.sh rbmap_checkpoint.lean - attributes: description: rbmap_fbip tags: [fast, suite] run_config: <<: *time cmd: ./rbmap_fbip.lean.out 2000000 build_config: cmd: ./compile.sh rbmap_fbip.lean - attributes: description: rbmap_library tags: [fast, suite] run_config: <<: *time cmd: ./rbmap_library.lean.out 2000000 build_config: cmd: ./compile.sh rbmap_library.lean - attributes: description: reduceMatch tags: [fast, suite] run_config: <<: *time cmd: lean reduceMatch.lean - attributes: description: simp_arith1 tags: [fast, suite] run_config: <<: *time cmd: lean simp_arith1.lean - attributes: description: nat_repr tags: [fast, suite] run_config: <<: *time cmd: ./nat_repr.lean.out 5000 build_config: cmd: ./compile.sh nat_repr.lean - attributes: description: unionfind tags: [fast, suite] run_config: <<: *time cmd: ./unionfind.lean.out 3000000 build_config: cmd: ./compile.sh unionfind.lean - attributes: description: workspaceSymbols tags: [fast, suite] run_config: <<: *time cmd: lean workspaceSymbols.lean max_runs: 2 - attributes: description: bv_decide_realworld tags: [fast] run_config: <<: *time cmd: lean bv_decide_realworld.lean - attributes: description: bv_decide_mul tags: [fast] run_config: <<: *time cmd: lean bv_decide_mul.lean - attributes: description: bv_decide_mod tags: [fast] run_config: <<: *time cmd: lean bv_decide_mod.lean max_runs: 2 - attributes: description: bv_decide_inequality.lean tags: [fast] run_config: <<: *time cmd: lean bv_decide_inequality.lean discarded_runs: 1 max_runs: 2 - attributes: description: bv_decide_large_aig.lean tags: [fast] run_config: <<: *time cmd: lean bv_decide_large_aig.lean - attributes: description: big_do tags: [fast] run_config: <<: *time cmd: lean big_do.lean - attributes: description: big_omega.lean tags: [fast] run_config: <<: *time cmd: lean big_omega.lean - attributes: description: big_omega.lean MT tags: [fast] run_config: <<: *time cmd: lean big_omega.lean -Dinternal.cmdlineSnapshots=false - attributes: description: omega_stress.lean async tags: [fast] run_config: <<: *time cmd: lean omega_stress.lean - attributes: description: channel.lean tags: [fast] run_config: <<: *time cmd: ./channel.lean.out parse_output: true build_config: cmd: ./compile.sh channel.lean - attributes: description: riscv-ast.lean tags: [fast] run_config: <<: *time cmd: lean riscv-ast.lean max_runs: 2