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

Introduce sorting and merging google benchmarks #1138

Merged
merged 4 commits into from
Dec 22, 2023
Merged

Conversation

IvoDD
Copy link
Collaborator

@IvoDD IvoDD commented Dec 7, 2023

Introduce sorting/merging google benchmarks

  • Adds google benchmarks and a benchmarks target to run them
  • Adds specific benchmarks for:
    • Sorting a segment with few and many columns
    • Merging sorted segments (either interleaving or ordered)

Current benchmark results:

-------------------------------------------------------------------------
Benchmark                               Time             CPU   Iterations
-------------------------------------------------------------------------
BM_sort_shuffled/100000/100           169 ms          156 ms           10
BM_sort_shuffled/1000000/1            659 ms          608 ms           10
BM_sort_ordered/100000/100           36.6 ms         33.8 ms           10
BM_sort_sparse/100000/100             823 ms          760 ms           10
BM_merge_interleaved/10000/100       1681 ms         1552 ms           10
BM_merge_ordered/10000/100           1208 ms         1115 ms           10

In follow up pull requests I'll perform optimizations which should improve these benchmarks.

Reference Issues/PRs

What does this implement or fix?

Any other comments?

Checklist

Checklist for code changes...
  • Have you updated the relevant docstrings, documentation and copyright notice?
  • Is this contribution tested against all ArcticDB's features?
  • Do all exceptions introduced raise appropriate error messages?
  • Are API changes highlighted in the PR description?
  • Is the PR labelled as enhancement or bug so it appears in autogenerated release notes?

@IvoDD IvoDD changed the title Adds google benchmarks for sorting and merging Introduce sorting and merging google benchmarks Dec 13, 2023
@IvoDD IvoDD marked this pull request as ready for review December 14, 2023 13:48
- Adds google benchmarks and a benchmarks target to run them
- Adds specific benchmarks for:
	- Sorting a segment few and many columns
	- Merging sorted segments (either interleaving or ordered)
@IvoDD IvoDD marked this pull request as draft December 20, 2023 07:50
@IvoDD IvoDD self-assigned this Dec 20, 2023
- The sparse benchmark tests sort_external on sparse columns. The column
  we sort by is not sparse (requirement on the sort).
@IvoDD IvoDD marked this pull request as ready for review December 20, 2023 15:50
environment_unix.yml Show resolved Hide resolved
@IvoDD IvoDD merged commit 27d3b7d into master Dec 22, 2023
130 of 131 checks passed
@IvoDD IvoDD deleted the sorting-profiling branch December 22, 2023 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants