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
PerformanceInliner: enable generic inlining of co-routines #27088
Conversation
@swift-ci test |
@swift-ci benchmark |
Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -OnoneCode 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
|
Build failed |
Build failed |
Co-routines are so expensive (e.g. Array.subscript.read) that it makes sense to enable generic inlining of co-routines. This will speed up array iteration (e.g. for elem in array { }) in a generic context significantly. Another example is ManagedBuffer.header.read, which gets much faster. In both cases, the speedup is mainly because there is no malloc happening anymore. https://bugs.swift.org/browse/SR-11231 rdar://problem/53777612
8c04047
to
d07593b
Compare
@swift-ci test |
1 similar comment
@swift-ci test |
Build failed |
Build failed |
@swift-ci test |
Co-routines are so expensive (e.g. Array.subscript.read) that it makes sense to enable generic inlining of co-routines.
This will speed up array iteration (e.g. for elem in array { }) in a generic context significantly.
Another example is ManagedBuffer.header.read, which gets much faster.
In both cases, the speedup is mainly because there is no malloc happening anymore.
https://bugs.swift.org/browse/SR-11231
rdar://problem/53777612