SCORU/Node: more efficient dissection computation
Context
This MR makes the dissection computation reuse intermediate states. This prevents from reevaluating the same ticks unnecessarily and thus removes a quadratic behaviour.
This MR depends on !6974 (merged) and !7922 (merged) which introduces regression traces for the dissection mechanism.
PVM evaluation time
The PVM evaluation time (for the WASM test pvm_proof_1
) is given below:
- No optim : no optimization applied (behavior similar as before MR)
- reuse : reuse intermediate states when performing dissections
-
memo : memoize
state_of_tick
function results.
Dissection size | No optim | reuse | memo | reuse + memo |
---|---|---|---|---|
32 | 0.123187 s | 0.103215 s | 0.035451 s | 0.034429 s |
255 | 0.447582 s | 0.417966 s | 0.435690 s | 0.140949 s |
Manually testing the MR
dune exec tezt/tests/main.exe -- -f sc_rollup.ml refutation