Parallelize transaction verification in runtime #12742
Labels
A-transaction-runtime
Area: transaction runtime (transaction and receipts processing, state transition, etc)
B-L4
Bootcamp: (“Feature”) more context, multi-part
C-enhancement
Category: An issue proposing an enhancement or a PR with one.
T-contract-runtime
Team: issues relevant to the contract runtime team
Description
Currently,
verify_and_charge
is responsible for transaction verification using state from tries. We can improve throughput by running this verification step in parallel.It only need read-only access to those tries, and changes can be applied after joining the threads.
A potential solution would be to "freeze" the memtrie, construct
Arc<FrozenArena>
, and then "unfreeze" the trie after use.The text was updated successfully, but these errors were encountered: