lean4-htt/tests/bench/speedcenter.exec.velcom.yaml
Marc Huisinga 0160aa1a89
test: identifier completion benchmark (#6796)
Adds a basic identifier completion benchmark so that bugs like the one
in #6794 are caught earlier.
2025-01-27 19:31:32 +00:00

407 lines
9.7 KiB
YAML

- 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 '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: 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
cmd: lean ../../src/Init/Prelude.lean -DElab.async=true
- attributes:
description: Init.Data.List.Sublist async
tags: [fast]
run_config:
<<: *time
cmd: lean ../../src/Init/Data/List/Sublist.lean -DElab.async=true
- attributes:
description: import Lean
tags: [fast]
run_config:
<<: *time
cmd: lean ../../src/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: 5
- 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
"
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
- 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
- attributes:
description: bv_decide_inequality.lean
tags: [fast]
run_config:
<<: *time
cmd: lean bv_decide_inequality.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