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

perf: optimize ExecutionReport and create_alu_lookup_id iff mode is trace #1480

Merged
merged 3 commits into from
Sep 6, 2024

Conversation

tqn
Copy link
Contributor

@tqn tqn commented Sep 5, 2024

Uses the enum-map crate, which provides an associative array interface to an underlying array. It allocates memory proportional to the number of enum variants. In this case, those are the opcodes and syscalls, of which there are 47 and 35 of, respectively.

Copy link

github-actions bot commented Sep 5, 2024

SP1 Performance Test Results

Branch: tqn/fewer-hashmaps-in-execution-report
Commit: 76dd23a5
Author: tqn

program cycles execute (mHz) core (kHZ) compress (KHz) time success
fibonacci 11291 0.02 5.52 0.15 1m16s
ssz-withdrawals 2757356 3.59 59.36 22.10 2m52s
tendermint 12593597 5.00 149.90 94.05 3m40s

@tqn tqn changed the title perf: replace main hashmaps in ExecutionReport by flat arrays perf: optimize ExecutionReport and create_alu_lookup_id iff mode is trace Sep 6, 2024
@tqn tqn merged commit b98a30f into dev Sep 6, 2024
11 checks passed
@tqn tqn deleted the tqn/fewer-hashmaps-in-execution-report branch September 6, 2024 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants