-
Notifications
You must be signed in to change notification settings - Fork 1.4k
feat: Add SetDigest result verifier #15619
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
Open
natashasehgal
wants to merge
4
commits into
facebookincubator:main
Choose a base branch
from
natashasehgal:export-D87835419
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: Add SetDigest result verifier #15619
natashasehgal
wants to merge
4
commits into
facebookincubator:main
from
natashasehgal:export-D87835419
Conversation
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
✅ Deploy Preview for meta-velox canceled.
|
|
@natashasehgal has exported this pull request. If you are a Meta employee, you can view the originating Diff in D87835419. |
Summary: Pull Request resolved: facebookincubator#15573 Moving HllAccumulator which was part of HyperloglogAggregates to HllUtils, so that it can be reused in Khyperloglog. HllAccumulator provides the functionality to switch between Sparse and Dense HLLs, along with other functions like merge, insertHash, cardinality which also take care of the 2 versions of HLL (sparse and dense), which is also needed for the implementation of KHLL. Differential Revision: D87486444
) Summary: Pull Request resolved: facebookincubator#15594 Adding some functionalities to HllAccumulator to accomodate KHLL - mergeWith which takes in a deserialized HllAccumuator - template typename TAllocator, to allow usage of both HashStringAllocator and MemoryPool, with the default set to use HashStringAllocator (as Sparse and Dense Hll does) Differential Revision: D87591323
Summary: Pull Request resolved: facebookincubator#15590 ## Main Methods | **Java Method** | **C++ Method** | **Description** | |---------------------------------------------------|--------------------------------------------------|-----------------------------------------------------------------------| | `SetDigest()` | `SetDigest(HashStringAllocator*)` | Constructor - Java uses default params, C++ requires allocator | | `void add(long)` | `void add(int64_t)` | Add integer value to digest | | `void add(Slice)` | `void add(StringView)` | Add string/binary value to digest | | `Slice serialize()` | `void serialize(char*)` | Serialize to bytes (Java returns Slice, C++ writes to buffer) | | `static SetDigest newInstance(Slice)` | `void deserialize(const char*, int32_t)` | Deserialize from bytes (Java static factory, C++ instance method) | | `void mergeWith(SetDigest)` | `void mergeWith(const SetDigest&)` | Merge two digests | | `boolean isExact()` | `bool isExact() const` | Check if digest is exact or approximate | | `long cardinality()` | `int64_t cardinality() const` | Get distinct element count | | `static long exactIntersectionCardinality(...)` | `static int64_t exactIntersectionCardinality(...)`| Calculate exact intersection size | | `static double jaccardIndex(...)` | `static double jaccardIndex(...)` | Calculate Jaccard similarity coefficient | | `Map<Long, Short> getHashCounts()` | `std::map<int64_t, int16_t> getHashCounts() const`| Get MinHash map | --- ## Size Estimation Functions | **Java Method** | **C++ Method** | |----------------------------------|---------------------------------------| | `int estimatedSerializedSize()` | n/a | | `int estimatedInMemorySize()` | `int32_t estimatedInMemorySize() const`| --- ## Additional Methods | **Java Only** | **C++ Only** | |-----------------------------------------------|-------------------------------------| | `HyperLogLog getHll()` | `void setIndexBitLength(int8_t)` | | `SetDigest(int, int)` constructor | | | `void convertToDense()` (private) | | | `SetDigest(int, HLL, Map)` constructor | | Differential Revision: D87376975
368f1e8 to
5014a1c
Compare
natashasehgal
added a commit
to natashasehgal/velox
that referenced
this pull request
Nov 25, 2025
Summary: Pull Request resolved: facebookincubator#15619 feat: Add SetDigest result verifier to be used in functions with SetDigest output Differential Revision: D87835419
Summary: Pull Request resolved: facebookincubator#15619 feat: Add SetDigest result verifier to be used in functions with SetDigest output Differential Revision: D87835419
5014a1c to
474c0e6
Compare
natashasehgal
pushed a commit
to natashasehgal/velox
that referenced
this pull request
Nov 25, 2025
…15619) Summary: Pull Request resolved: facebookincubator#15619 feat: Add SetDigest result verifier to be used in functions with SetDigest output Differential Revision: D87835419
natashasehgal
pushed a commit
to natashasehgal/velox
that referenced
this pull request
Nov 25, 2025
…15619) Summary: Pull Request resolved: facebookincubator#15619 feat: Add SetDigest result verifier to be used in functions with SetDigest output Differential Revision: D87835419
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
CLA Signed
This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed.
fb-exported
meta-exported
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.
Summary: feat: Add SetDigest result verifier to be used in functions with SetDigest output
Differential Revision: D87835419