lean4-htt/tests/bench
2019-05-30 16:18:03 +02:00
..
.gitignore chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
arith_eval.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
binarytrees.ghc-6.hs chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
binarytrees.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
binarytrees.ocaml-2.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
compile.sh chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
default.nix chore(tests/bench/default.nix): remove compilers of retired categories 2019-05-29 17:36:42 +02:00
deriv.hs chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
deriv.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
deriv.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
deriv.sml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
expr_const_folding.hs chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
expr_const_folding.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
expr_const_folding.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
expr_const_folding.sml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
expr_const_folding.swift chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
frontend_test.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
ghc-gc.py chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
lean-gc.py chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
leanpkg.path chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
Makefile chore(tests/bench/Makefile): reduce rbmap input sizes 2019-05-30 16:18:03 +02:00
mlkit-gc.py chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
nixpkgs.nix chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
ocaml-gc.py chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
perf.py chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
qsort.hs chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
qsort.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
qsort.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
qsort.sml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap.hs chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap.library.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap.sml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap2.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap3.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap4.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap_checkpoint.hs chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap_checkpoint.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap_checkpoint.ml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap_checkpoint.sml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap_checkpoint2.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
rbmap_checkpoint2.sml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
README.md chore(tests/bench): add readme 2019-05-29 17:32:35 +02:00
report.py chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
run.sh chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
temci.yaml chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
unionfind1.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00
unionfind2.lean chore(tests/bench): move out from playground/ 2019-05-29 16:33:50 +02:00

Lean Benchmark Suite

This folder contains multiple small Lean programs for benchmarking and comparing their performance to other Lean configurations and functional compilers using the temci benchmarking tool.

We recommend using Nix for building/obtaining all Lean variants and used compilers in a reproducible way. After installing Nix, running the benchmarks is as easy as

nix-shell --run make

This will record 50 runs for each benchmark configuration (this can be changed with min_runs in temci.yaml), generate results in report_lean.csv and report_cross.csv, and print them to stdout in a tabulated format. It will also generate HTML reports in report/ comparing the time-based benchmarks.

In order to reduce noise in the benchmarking data, you may instead want to try calling make inside a temci shell:

nix-shell --run "temci short shell --sudo --preset usable --cpuset_active make"

Using root powers, this will temporarily configure your machine similarly to the LLVM benchmarking recommendations and move all your other processes to a single CPU core.