feat(serialization): add Exponential-Continuation Varint implementation#1405
Merged
feat(serialization): add Exponential-Continuation Varint implementation#1405
Conversation
|
| Branch | feat/ecv-serialization |
| Testbed | ubuntu-22.04 |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result minutes (m) (Result Δ%) | Lower Boundary minutes (m) (Limit %) | Upper Boundary minutes (m) (Limit %) |
|---|---|---|---|---|
| sync-v2 (up to 20000 blocks) | 📈 view plot 🚷 view threshold | 1.95 m(+14.50%)Baseline: 1.70 m | 1.53 m (78.60%) | 2.04 m (95.42%) |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1405 +/- ##
==========================================
+ Coverage 85.76% 85.80% +0.03%
==========================================
Files 430 431 +1
Lines 33054 33093 +39
Branches 5172 5179 +7
==========================================
+ Hits 28349 28394 +45
+ Misses 3667 3663 -4
+ Partials 1038 1036 -2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
msbrogli
approved these changes
Sep 24, 2025
e7bac00 to
c6eddd3
Compare
2 tasks
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.
Motivation
We've previously discussed about using an encoding that takes less bits for larger numbers. This PR introduces such encoding, that is based on LEB128 but uses a continuation bit every time the size doubles, not every time it increases by one byte, so it was named Exponential Continuation Varint (ECV) for the lack of a better name.
This PR purely introduces the new encoding and does not use it anywhere, so it is not a breaking change.
Acceptance Criteria
Checklist
master, confirm this code is production-ready and can be included in future releases as soon as it gets merged