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
Remove fallibility from paruqet RleEncoder (#2226) #2259
Conversation
@@ -132,23 +132,21 @@ impl RleEncoder { | |||
} | |||
|
|||
/// Encodes `value`, which must be representable with `bit_width` bits. | |||
/// Returns true if the value fits in buffer, false if it doesn't, or |
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.
I am very happy to see this gone, it made for a very confusing interface imo
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 like a great improvement to me
@@ -244,10 +239,9 @@ impl RleEncoder { | |||
); | |||
self.num_buffered_values = 0; | |||
self.repeat_count = 0; | |||
Ok(()) |
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.
So it seems like the flush_*
functions are the root of the chain and then the "can't fail" gets to percolate up? 👍
Benchmark runs are scheduled for baseline = 9a4b1c9 and contender = 4222f5a. 4222f5a is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Which issue does this PR close?
Closes #2226
Rationale for this change
Follow on to #2231
What changes are included in this PR?
RLEEncoder is no longer fallible and so we can simplify its interface
Are there any user-facing changes?
No, the encoding module is experimental