Skip to content

Conversation

@HeidiHan0000
Copy link
Contributor

Summary:
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.

Some functions added to HllAccumulator, to accomodate KHLL requirements are:

  • 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: D87486444

@netlify
Copy link

netlify bot commented Nov 19, 2025

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit fce2833
🔍 Latest deploy log https://app.netlify.com/projects/meta-velox/deploys/6925c0a16328cb0008d7f6a5

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Nov 19, 2025
@meta-codesync
Copy link

meta-codesync bot commented Nov 19, 2025

@HeidiHan0000 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D87486444.

HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 19, 2025
Summary:

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.

Some functions added to HllAccumulator, to accomodate KHLL requirements are:
- 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: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 20, 2025
Summary:

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
Copy link
Contributor

@mbasmanova mbasmanova left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks.

HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 21, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 21, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 21, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 21, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 25, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 25, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 pushed a commit to HeidiHan0000/velox that referenced this pull request Nov 25, 2025
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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 25, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 25, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
facebook-github-bot pushed a commit that referenced this pull request Nov 25, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
natashasehgal pushed a commit to natashasehgal/velox that referenced this pull request Nov 25, 2025
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
yjyolandeyan pushed a commit to yjyolandeyan/velox that referenced this pull request Nov 25, 2025
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
yjyolandeyan pushed a commit to yjyolandeyan/velox that referenced this pull request Nov 25, 2025
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
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 26, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
HeidiHan0000 added a commit to HeidiHan0000/velox that referenced this pull request Nov 26, 2025
Summary:

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.

Reviewed By: mbasmanova

Differential Revision: D87486444
yjyolandeyan pushed a commit to yjyolandeyan/velox that referenced this pull request Nov 26, 2025
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
natashasehgal pushed a commit to natashasehgal/velox that referenced this pull request Nov 26, 2025
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
natashasehgal pushed a commit to natashasehgal/velox that referenced this pull request Nov 27, 2025
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
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants