Optimize solidity mapping perf#1221
Merged
otherview merged 7 commits intoAug 4, 2025
Merged
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## release/hayabusa #1221 +/- ##
===================================================
Coverage ? 58.34%
===================================================
Files ? 273
Lines ? 28978
Branches ? 0
===================================================
Hits ? 16907
Misses ? 10627
Partials ? 1444 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
otherview
force-pushed
the
pedro/hayabusa/improve_solidity_mapping_perf
branch
from
August 1, 2025 13:26
a4da1bf to
1ae4bdc
Compare
otherview
force-pushed
the
pedro/hayabusa/improve_solidity_mapping_perf
branch
from
August 1, 2025 14:19
4e49a56 to
d06e95f
Compare
libotony
reviewed
Aug 4, 2025
otherview
commented
Aug 4, 2025
….com:vechain/thor into pedro/hayabusa/improve_solidity_mapping_perf
…abusa/improve_solidity_mapping_perf
YeahNotSewerSide
approved these changes
Aug 4, 2025
paologalligit
approved these changes
Aug 4, 2025
paologalligit
left a comment
Member
There was a problem hiding this comment.
Looks good, left just a minor comment you can ignore
paologalligit
approved these changes
Aug 4, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR optimizes the generic
Mapping[K, V]implementation by cutting down on allocations and CPU overhead in bothGetandSet:sync.Poolto avoid per-call allocations ofbytes.Bufferandbytes.Reader.Set(now returns the pooled encoding instead of callingrlp.EncodeToBytestwice).Getnow only does a single reflection check on missing keys.Benchmark Comparison
Benchmark test
Fixes # (issue)
Checklist: