Skip to content
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

Improve Dense HLL merge performance #779

Merged
merged 4 commits into from Dec 3, 2019

Conversation

@martint
Copy link
Member

martint commented Nov 25, 2019

No description provided.

@martint martint force-pushed the martint:hll-perf branch 2 times, most recently from 8c9ec7f to 7290021 Nov 25, 2019
@martint martint requested review from dain and findepi Dec 2, 2019
@sopel39

This comment has been minimized.

Copy link
Contributor

sopel39 commented Dec 2, 2019

@martint did you profile HLL after your changes? What takes the most time?

@martint martint force-pushed the martint:hll-perf branch from 7290021 to 0f59185 Dec 2, 2019
overflowValues[overflowEntry] = overflow;
}

private void removeOverflow(int overflowEntry)

This comment has been minimized.

Copy link
@findepi

findepi Dec 3, 2019

Member

can we have {get,set,find,remove}Overflow next to each other?

martint added 4 commits Nov 25, 2019
- Loop over delta entries to avoid having to decode slot index and shift
- Update overflows in-place to reduce memory allocations

Results:

                Before                 After
benchmarkMerge  21.557 ± 1.116 us/op   11.677 ± 0.788  us/op
Add dedicated method for merging Dense vs Sparse that just applies
the values of the Sparse HLL instead of walking all the buckets
of the Dense HLL.

Results:

Dense vs Dense:  11.677 ± 0.788  us/op
Dense vs Sparse:  0.320 ± 0.013  us/op
@martint martint force-pushed the martint:hll-perf branch from 0f59185 to a932881 Dec 3, 2019
@martint martint merged commit a932881 into airlift:master Dec 3, 2019
@martint martint deleted the martint:hll-perf branch Dec 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.