Skip to content

SCORU/Node: more efficient dissection computation

Alain Mebsout requested to merge alain@functori@dissection-non-dumb into master

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
Edited by Alain Mebsout

Merge request reports