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
[stdlib] Demote internal preconditions to invariant checks #21132
Conversation
@swift-ci please benchmark |
Build comment file:Build failed before running benchmark. |
7abdb47
to
7186485
Compare
7186485
to
b1e6a07
Compare
@swift-ci please benchmark |
Build comment file:Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
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
|
@swift-ci please benchmark |
Hmm, I had around 10% locally on StringWordBuilder, but not sure why it doesn't repro. |
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
|
@swift-ci please benchmark |
Build comment file:Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
Code size: -swiftlibs
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 regressions seem to be due to a bug in the SIL Optimizer stopping it from constant-folding small strings. Holding off until we can learn more. rdar://problem/46606173 |
The optimizer fix that re-enabled constant folding: #21192 |
@swift-ci please benchmark |
Build comment file:Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
Code size: -swiftlibs
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
|
I wrote in inlining heuristic fix for this silliness months ago, but that itself has regressions so it's a regression deadlock. Hopefully I'll get back to that very soon though. |
This has both nice improvements and regressions. Maybe the combination of the two would help? |
Feel free to file an SR where we can list benchmarks that have regressed because of inlining noise triggered by removing branches and similar changes along with the old run times. Then we can come back after these improvements/bug fixes land and if they haven't recovered figure out why they're so noisy. |
No description provided.