-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Additional Data benchmarks #21766
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
Additional Data benchmarks #21766
Conversation
@swift-ci Please smoke test |
@swift-ci Please benchmark |
@itaiferber Could you please use the new benchmark naming convention, please? ( |
@palimondo None of the other tests are named this way yet. I can make a pass to change them all if you prefer |
Yes please. All newly added benchmarks should use that. |
@palimondo All names should now hopefully match convention |
@swift-ci Please benchmark |
@swift-ci Please smoke test |
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.
LGTM, with the following naming changes.
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.
Sorry for the misunderstanding. We don't want the existing test names renamed, because we need them to maintain them for long-term performance tracking. It's OK to have mixed naming in the file for now. Only the newly added test names need to be changed.
@palimondo What sort of long-term performance tracking is planned here? We feel very strongly about maintaining consistency here; if it's critical to leave the old benchmark names as-is at the moment, then I'll revert this renaming. If we can update them later, then we can do it en-masse like I've done here; if not, then we won't be maintaining inconsistent names forever. |
This comment has been minimized.
This comment has been minimized.
By long term tracking I meant the existing Apple-internal My current plan to whip the Swift Benchmarking Suite (SBS) up-to-shape is as follows: |
Okay, that sounds reasonable. If we're actually concretely planning on migrating the old names forward then I'm okay with things being briefly inconsistent. |
@itaiferber It looks like you have too big loop multiplier on
(You can safely ignore the "wide range of memory" warnings — that heuristic is too sensitive at the moment.) |
052aa59
to
3952b73
Compare
Co-Authored-By: itaiferber <itai@itaiferber.net>
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.
LGTM! Benchmark Report should be just a green checkmark now…
(Data.append.Sequence.UnderestimatedCount
will definitely overshoot 1000 μs, but that's OK)
@swift-ci please benchmark |
@swift-ci Please smoke test |
@swift-ci Please benchmark |
Thank you for your patience with all my nitpicking Itai! I'm off to 😴💤 (10pm here). |
@swift-ci Please smoke test |
Build comment file:Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
How to read the dataThe tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.If you see any unexpected regressions, you should consider fixing the Noise: Sometimes the performance results (not code size!) contain false Hardware Overview
|
The above tests should improve with a fix I'll push out briefly. |
…nchmarks Additional Data benchmarks (cherry picked from commit 1d10a6a)
What's in this pull request?
Per @palimondo's suggestion, adds benchmarks covering worst-case
Data.init<S>(_:)
/Data.append<S>(_:)
scenarios, as well asData
hashing.Should go in for #21754 testing.