Lean 4 fork for HoTT-compatible kernel extensions (Path types, transport, HITs). Maintained against upstream leanprover/lean4.
Find a file
Leonardo de Moura cad379333d feat(util/memory_pool): put limit on the size of memory_pool free_lists
See #1405

Memory consumption is still high, but I didn't manage to cross the 2Gb
limit anymore with this commit even after hundreds of modifications.

@gebner I'm not seeing a big difference betwee Lean without memory_pool,
with bounded memory_pool and unbounded memory_pool. We may even consider
removing it in the future after a more careful benchmarking.

In the benchmark (https://gist.github.com/leodemoura/b27fb4203a13a67274b388a602149303),
I'm getting the following numbers:

- No memory_pool: runtimes between 3.532s - 3.556s

- With memory_pool bounded by 8192: runtimes between 3.32s - 3.44s

- With memory_pool (with no limit): runtimes between 3.32s - 3.44s

On the other hand, the small object allocator makes a big difference.
I used your list_rev.lean example.

- with:    2.62s
- without: 3.75s
2017-02-28 15:16:43 -08:00
bin chore(bin/lean-gdb): terser expr pretty printer 2017-02-21 11:06:39 -08:00
doc chore(*): remove last remnants of mpfr 2017-02-24 21:42:58 +01:00
extras chore(extra/latex/*): update to changes in syntax 2017-01-03 11:22:04 -08:00
images chore(CMakeLists.txt): move Lean logo to make sure we can test leanemacs without installing Lean 2015-01-31 17:38:49 -08:00
library feat(library/data): add hash_map's 2017-02-27 23:17:10 -08:00
old_library refactor(gitignore): remove old ignore entries 2016-12-10 08:42:39 -08:00
script feat(frontends/lean/parser): expr patterns 2017-02-23 01:52:13 +01:00
src feat(util/memory_pool): put limit on the size of memory_pool free_lists 2017-02-28 15:16:43 -08:00
tests feat(library/data): add hash_map's 2017-02-27 23:17:10 -08:00
tmp feat(frontends/lean): 'let' in 'do' blocks 2017-02-24 09:10:36 -08:00
.appveyor.yml chore(CMakeLists): bumped master branch to 3.1.1 2017-02-25 18:12:04 -08:00
.appveyor.yml.in chore(travis,appveyor): remove mpfr 2017-02-24 21:41:59 +01:00
.codecov.yml feat(.travis.yml): add codecov 2016-12-02 17:01:58 -08:00
.gitignore chore(.gitignore): ignore VSCode config file 2016-12-18 12:35:25 -08:00
.travis.yml chore(CMakeLists): bumped master branch to 3.1.1 2017-02-25 18:12:04 -08:00
.travis.yml.in chore(travis,appveyor): remove mpfr 2017-02-24 21:41:59 +01:00
LICENSE Add LICENSE file 2013-07-15 18:55:48 -07:00
README.md chore(README.md): remove obsolete mpfr dependency 2017-02-24 21:39:30 +01:00

logo

LicenseWindowsLinux / macOSTest CoverageChat
Codecov Join the gitter chat

About

Requirements

Build Instructions

Miscellaneous