-
Notifications
You must be signed in to change notification settings - Fork 537
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
MQE: Add support for histogram_quantile #9929
base: main
Are you sure you want to change the base?
Conversation
Also preps support for more classic histogram functions to come. (Will require some re-work, but the basics are there). Tidies up annotation tests and checks their results between engines. (Since sometimes we emit annotations with results, and sometimes the results are omitted when there is an annotation).
38d1a77
to
d293f3a
Compare
d89bbab
to
78fc811
Compare
78fc811
to
5abeee0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still working my way through the implementation and will keep going tomorrow - I have some suggestions for the tests in the meantime
c20de2b
to
016d546
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work 🙂
I'd like to see some benchmark results for this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good.
I'd like to see some benchmark results, and I'd also like for
histogram_quantile
to go behind a feature flag so we can turn it off if need be - there's a lot of complexity here, and while I can't see any obvious issues, it'd be good to have that available if we need it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Benchmarks:
The results are obviously concerning. I have not had time to investigate why yet. |
An improvement with more pools:
Still doesn't scale well because of how we load series time-wise. I'm not sure if we can do much more without fundamental changes :-/ |
The thing that stands out to me in the benchmarks is not the peak memory consumption, which looks good, but the number of allocations. Where are all of the allocations happening in the 1000 step cases? |
I suspect that |
Latest benchmark, fixing the heap-allocation of defers.
|
Latest benchmarks, including native histograms:
|
Tidies up annotation tests and checks their results between engines. (Since sometimes we emit annotations with results, and sometimes the results are omitted when there is an annotation).
What this PR does
Which issue(s) this PR fixes or relates to
Fixes #
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]
.about-versioning.md
updated with experimental features.