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