feat: implement count-min sketch#38
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements a Count-Min sketch data structure for approximate frequency counting in streaming data. The implementation provides configurable accuracy through relative error and confidence parameters, supports negative weights, and includes serialization/deserialization compatibility with the DataSketches format.
Key changes:
- Core Count-Min sketch with update, estimate, merge, and bound calculation operations
- Helper functions for parameter suggestions based on desired error and confidence levels
- Serialization support compatible with DataSketches Count-Min format
- Comprehensive test suite covering basic operations, edge cases, and serialization
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/lib.rs | Adds countmin module to the library's public API |
| src/countmin/mod.rs | Module definition with documentation and public exports |
| src/countmin/sketch.rs | Core Count-Min sketch implementation with update, estimation, merge, and serialization methods |
| src/countmin/serialization.rs | Serialization constants and helper functions for DataSketches format compatibility |
| tests/countmin_test.rs | Comprehensive test suite covering initialization, updates, bounds, merge, serialization, and edge cases |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Member
|
Cool! Thanks. I'll take a look soon... |
leerho
approved these changes
Dec 25, 2025
Signed-off-by: Chojan Shang <[email protected]>
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.
Related to #35