-
Notifications
You must be signed in to change notification settings - Fork 106
Conversation
hmm the benchmarks writes b.N points, which will often be artificially high. are you seeing any benefit when deployed? |
Above benchmarks were run with
We ran profiles before and after and saw the expected drop in time spent in |
with similar results? |
The same results. The numbers in the PR description were from |
FWIW we ran one of the benchmarks ( Green is functions that are faster and red is functions that are slower after the PR. We ran this with 8,000,000 iterations (to get enough profiling samples) inserting 120 data points at a time. You can see from the diff that calls to Here's a link to a publicly available pyroscope instance with this data) if you want to play with this profiling data. I do think running pyroscope on some production cluster would be more interesting and produce more representative results. @shanson7, @Dieterbe — I would love to collaborate on that if any of you are interested. |
So:
The code looks fine, but I have yet to check out #2005 (I see that the benchmarks quoted here are introduced there). Are your benchmarks against #2005 or against master? There's a couple distinct optimizations in this PR, and the workload will change due to #2005, so it may be tricky to figure out exactly which changes (and combination thereof) are ideal. From only looking at the code, I'm pretty confident that 1) will always be a net improvement, though i'm doubtful by how much, 2) is likely also an improvement, though it's less obvious. I'll have a look at #2005 to understand the interplay between that and this better |
Hmm, that's a good question. It's been a while and I cannot remember if I ported the benchmarks or if I based this whole changed on #2005. Edit: At any rate, the |
@Dieterbe - Can this get another look? |
I refactored and analyzed via #2024. I suggest we merge that one. |
merged |
Results in a 20-30% speedup of tsz push op (with 120 points using
-benchtime=120x
):