-
Notifications
You must be signed in to change notification settings - Fork 1
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
Overall Fastest/Slowest #3
Comments
Hi. I'll try my hand at implementing this. I'll let you know if it somehow falls though; at a minimum I'd be happy to review a PR. |
Let me know how it goes.... FYI this is output from hyperfine:
|
Looks great! I'll give it a try soon! |
It came to me on a whim that I forgot to clear the existing benches if you decide to write multiple suites, so I pushed a patch as v3.0.1, if you had already updated as-tral. |
Looks really good... question about the output. How are the tests ordered. It looks like the "Relative to XXX" test is the first test and the rest of the list are in "decending" order (slow -> fast)? Is that right? Showing only the % change can be ambigious. The output from hyperfine, BTW, is relative to the fastest with the rest in "ascending" order (fast -> slow). |
Here is another tool's (benchmarkjs) output:
|
Why would only showing the delta be ambiguous? The delta is relative to the first test; it's not in any way related to change from last test. |
It's kind of pedantic and we (user) can usually figure it out but: Hyperfine shows "XX times faster"... this is clearly "higher is faster". With a +/-XX% it's not entirely clear if positive is faster or slower. In your case a higher number positive means slower, a higher negitive number means faster. Even typing that I'm not 100% clear. Here is what I am seeing:
At a glance I'm not sure which is fastest. This is all a little pedantic but I think if the list was presented as relative to the fastest... then all numbers become positive (slower) and the results would be more clear IMO. |
I reversed the order and pushed it as v3.0.2. |
I don't think it is so much about the order... but what it is relative to. It should start with the fastest on top and all the other relative to that one (ideally fast -> slow). In my output:
You see that |
This is technically difficult, actually. I'll see what I can do in terms of freeing up time on my schedule. |
I understand.... just a very nice to have IMO. Thank you for your work! |
Maybe I'm completly misunderstanding these results. I have three tests in a suite. I've manually ordered them from fastest to slowest (based on my expectation before running). The three tests have the following times:
Based on these times
Full output is below:
|
Is it possible these deltas are comaring against previous runs? After clearing the
|
The leftmost number is the lower bound of the confidence interval, the middle is the mean, and the rightmost is the higher bound of the confidence interval. You're looking at the leftmost number, which means, very generally, that at its best, it performs 4% better than the other algorithm, but usually (the mean) it's 9% worse. Using statistics helps give more nuanced views of results like this. I hope this clears it up. |
That's a bug because I accidentally made some suite code conditional on having a baseline. I'll fix it soon. |
It does... TY |
Hello @romdotdog Two issues I'm seeing:
Again... willing to submit PRs if you agree these are issues and are accepting. |
as-tral already orders from fastest to slowest (as of v3.0.2), so I don't know what you mean by the first issue. I'm happy to take PRs for the second issue. |
Any I reading this incorrectly again?
The results for the three benchmarks are |
First, thank you for your work on this project!
Do you think it would be work while adding an overall result to the benchmark run? Something like "Fastest is"/"Slowest is". Maybe simplest would be to do this per file... otherwise a
suite
method like:Willing to work on a PR if that's a feature you're interested in.
The text was updated successfully, but these errors were encountered: