-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[stdlib] Set, Dictionary: Replace _Variant enums with _BridgeStorage #19688
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 smoke benchmark |
@swift-ci please test |
This comment has been minimized.
This comment has been minimized.
D'oh. |
This comment has been minimized.
This comment has been minimized.
The results are a weird mix. 🤔 And what's up with |
This comment has been minimized.
This comment has been minimized.
Yeah, the tests are poking things they shouldn't. |
@swift-ci smoke benchmark |
@swift-ci smoke test |
This comment has been minimized.
This comment has been minimized.
@swift-ci test |
This comment has been minimized.
This comment has been minimized.
Remaining slowdowns affect small dictionaries/sets only. There may be a small inefficiency somewhere. |
@swift-ci please smoke test linux platform |
This comment has been minimized.
This comment has been minimized.
@swift-ci smoke test |
1 similar comment
@swift-ci smoke test |
@swift-ci smoke benchmark |
Build comment file:Build failed before running benchmark. |
Uh, what? |
Oh, it's a merge failure. |
563fbb5
to
853720c
Compare
@swift-ci smoke test |
@swift-ci smoke benchmark |
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 regressions before you merge the PR. Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein). Hardware Overview
|
This is looking good! I need to look at |
The optimizer dislikes nested switch statements; flatten them out to simplify optimization and to hopefully speed things up a little.
Dictionary already does this.
This is mostly a code size improvement.
…pacity The compiled code included unnecessary references to resize().
This is a tiny code size improvement.
…geObject storage We really need to do a pass on the _BridgeStorage API at some point soon.
|
853720c
to
c47b922
Compare
@swift-ci test |
Build failed |
Build failed |
Oh yeah, this also requires a small update to LLDB's data formatters. |
Please test with the following PR: |
Please test with the following PR: |
Build failed |
Hm, I don't think that Linux type checker crash is my fault. |
Build failed |
apple/swift-lldb#959 |
This is a followup to #19611, taking it to its logical conclusion.