Skip to content

perf: investigate whether eth_estimateGas can reuse the EvmObserver using flush_and_report #1467

@Wodann

Description

@Wodann

Currently, the the eth_estimateGas constructs a new EvmObserver for each iteration of the binary search. Potentially, this is resulting in more deallocations and allocations, impacting performance.

In particular, this would be the case in the JSON-RPC provider if:

  • tracing is enabled
  • eth_estimateGas is called often

The simplest way to reproduce this would be to add a criterion benchmark that calls estimate_gas on the ProviderData repeatedly.

Action Items

  • Add a benchmark that tests eth_estimateGas performance with & without tracing
  • Validate whether reusing the same EvmObserver would improve performance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions