-
Notifications
You must be signed in to change notification settings - Fork 455
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
[dbnode] ReadBits to use optimized Read path #2205
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, what kind of difference does it make?
edit: looked at the graph, seems substantial
Codecov Report
@@ Coverage Diff @@
## master #2205 +/- ##
========================================
+ Coverage 72.4% 72.4% +<.1%
========================================
Files 1022 1022
Lines 88865 88904 +39
========================================
+ Hits 64386 64415 +29
- Misses 20162 20167 +5
- Partials 4317 4322 +5
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #2205 +/- ##
========================================
- Coverage 72.0% 70.2% -1.8%
========================================
Files 1022 983 -39
Lines 88793 86281 -2512
========================================
- Hits 63966 60650 -3316
- Misses 20505 21500 +995
+ Partials 4322 4131 -191
Continue to review full report at Codecov.
|
re-evaluating numbers, double checking this is working as intended
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
What this PR does / why we need it:
The
ReadBits
path originally always made individualReadByte
calls for each 8 bit sequence. However,Read
path is optimized to read multiple full bytes in a row if the iterator is aligned (i.e. no remaining current bits) and so we use that path forReadBits
instead now.PRE
POST
Special notes for your reviewer:
Does this PR introduce a user-facing and/or backwards incompatible change?:
Does this PR require updating code package or user-facing documentation?: