Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

op-program: reuse EVM instance in L2 block processor #14038

Closed
protolambda opened this issue Jan 29, 2025 · 0 comments · Fixed by #14170
Closed

op-program: reuse EVM instance in L2 block processor #14038

protolambda opened this issue Jan 29, 2025 · 0 comments · Fixed by #14170
Labels
A-op-program Area: op-program T-proofs Team: Proofs

Comments

@protolambda
Copy link
Contributor

See AddTx:

func (b *BlockProcessor) AddTx(tx *types.Transaction) error {

The intermediate geth v1.14.12 -> v1.14.13 changes (see PR #13958) allow for easy EVM-instance reuse between txs of the same block.

This was left unoptimized out of caution, but can be changed. Specifically, the mkEVM() can be called once (and provider.GetVMConfig() usage can be simplified) in NewBlockProcessorFromHeader, and the *vm.EVM instance can then be shared between txs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-op-program Area: op-program T-proofs Team: Proofs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants