Skip to content

Conversation

MatusKysel
Copy link
Contributor

Optimize Contract Pool Implementation

@rjl493456442 rjl493456442 self-assigned this Jun 11, 2025
@rjl493456442
Copy link
Member

Deployed on 5 and 6. Let's see the impact of this change first.

@rjl493456442
Copy link
Member

截屏2025-06-24 20 03 05 截屏2025-06-24 20 03 22 截屏2025-06-24 20 04 20

@rjl493456442
Copy link
Member

The PR is slightly faster. The higher IOWait should be relevant with the pebble change (low the compaction debt), I guess it's not relevant with this PR.

@rjl493456442
Copy link
Member

rjl493456442 commented Jun 25, 2025

[[ PR ]]
截屏2025-06-25 11 34 36

[[ MASTER ]]
截屏2025-06-25 11 34 46

No big difference?

I can't reproduce the big difference in the flame graph you mentioned in the BSC PR

@rjl493456442
Copy link
Member

[[ PR ]]

截屏2025-06-25 11 37 52

[[ MASTER ]]
截屏2025-06-25 11 38 31

@MatusKysel
Copy link
Contributor Author

Hey @rjl493456442 can you check specifically vm.NewContract call in pprof? also it might be less significant for ETH right now as we have higher TPS

@rjl493456442
Copy link
Member

rjl493456442 commented Jul 1, 2025

[[ PR ]]
截屏2025-07-01 13 35 11
截屏2025-07-01 13 42 39

[[ MASTER ]]

截屏2025-07-01 13 35 28

Not sure how to interpret it. This PR indeed eliminates the overhead on vm.NewContract. But this function is so tiny and has no impact on the overall performance

[[ pr ]]
截屏2025-07-01 13 42 16

[[ master ]]
截屏2025-07-01 13 38 03

@rjl493456442
Copy link
Member

Thanks for contributing back! Unfortunately I think the impact of this optimization is too small and the complexity is not worthwhile. Perhaps in the BSC it's somehow obviously and but impact in Ethereum mainnet is not observable.

I will close it, and appreciate if you have any idea for optimizing Geth further!

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