-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[SkipFunctionBodies] Build everything but the stdlib with function body skipping #27588
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
Conversation
@swift-ci please benchmark |
Build failed before running benchmark. |
CMake...
@swift-ci please benchmark |
Performance: -O
Code size: -OPerformance: -Osize
Code size: -OsizePerformance: -Onone
Code size: -swiftlibsHow 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 test |
Build failed |
Build failed |
No problems with the benchmarks. The standard library needs to be built specially anyway. For example, we can't parallelize the LLVM passes as we usually do because we too much benefit from cross-file optimization. I think it's the same with serialization. I don't expect regular frameworks to be so sensitive to this issue. Now, it's interesting that with resilience the compiler isn't supposed to be making any assumptions about the non-inlinable code, so it's probably worth following up on the compiler side to understand why it does things differently. But there's no harm done in this PR. |
…dy skipping This un-revers swiftlang#27588, which was causing failures on debug builds because it was only disabling the NonInlinableFunctionSkippingChecker for the *optimized* OnoneSupport module, but not the unoptimized one.
Per a conversation with @atrick, see what the impact is of building everything but the stdlib with function body skipping, so we can see if the issues are stdlib-specific. Granted, not many of the benchmarks use the overlays...