Closed thpani closed 2 months ago
Lgtm, just one question about the benchmarks, was
Warning: Ignoring non-zero exit code.
because of the simplifier stack overflow in Apalache, or something else?
no, this is still for the Python-translated spec. non-zero because it's producing a counter-example – then Apalache's exit code is 12.
With the current specification, Apalache goes out-of-memory even if Java heap size is increased to 20GiB.
This PR precomputes expensive fold-based operators in variables, s.t. they are only emitted once.
Three strategies for constructing the precomputes were implemented and benchmarked (a fourth – not benchmarked – can be found in https://github.com/freespek/ssf-mc/commit/494851ecdc802938313f6b56934cd3191f2770c2).
I benchmarked the strategies on a falsy invariants (producing finalizing votes for a checkpoint) and two different block views (a linear chain, and a single fork at genesis). All benchmark runs were fastest for
Precompute_Native
: