Skip to content

Conversation

@subwaycookiecrunch
Copy link
Contributor

Fixes #12714.

This PR addresses the performance degradation observed when running tests with verbose tracing.

The issue was caused by synchronous blocking calls during the trace identification process. Specifically, fetching contract metadata from external sources was blocking the execution runtime, leading to significant delays when processing multiple addresses.

Changes

  • Async Identification: Updated the trace identification logic to be asynchronous, allowing for non-blocking operations.
  • Concurrent Lookups: Refactored the external metadata fetching to run concurrently without blocking the main thread.
  • System Updates: Updated all relevant components to support the new asynchronous identification flow.

Performance

These changes ensure that network requests for identifying contracts are handled efficiently, resulting in faster execution times for operations that require external trace identification.

@zerosnacks
Copy link
Member

zerosnacks commented Jan 20, 2026

Hi @subwaycookiecrunch, thanks for your PR!

Your PR currently contains a lot of unrelated changes currently, would you mind doing a second pass and avoid any changes that are not strictly related to your proposed fix for #12714

I am not sure if your current proposed solution addresses the core issue; please clarify - preferably through a before-after timing table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

perf(forge): printing traces is too slow due to external lookups

2 participants