Skip to content

Conversation

nate-chandler
Copy link
Contributor

@nate-chandler nate-chandler commented Dec 14, 2021

Update the default SILOptions value for CopyPropagation and LexicalLifetimes.

@nate-chandler nate-chandler requested a review from atrick December 14, 2021 22:16
@nate-chandler nate-chandler force-pushed the copy_propagation/always-on branch 4 times, most recently from ea3abcf to b483a71 Compare December 16, 2021 05:39
Don't use lexical lifetimes fully in the stdlib for now.
@nate-chandler nate-chandler force-pushed the copy_propagation/always-on branch from b483a71 to 7d7acb4 Compare December 16, 2021 23:29
@swiftlang swiftlang deleted a comment from swift-ci Dec 16, 2021
@swiftlang swiftlang deleted a comment from swift-ci Dec 16, 2021
@swiftlang swiftlang deleted a comment from swift-ci Dec 16, 2021
@swiftlang swiftlang deleted a comment from swift-ci Dec 16, 2021
@swiftlang swiftlang deleted a comment from swift-ci Dec 17, 2021
Copy link
Contributor

@atrick atrick left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯 This means we can finally canonicalize OSSA form, so we aren't hiding compiler bugs and hoping no one notices

@swiftlang swiftlang deleted a comment from swift-ci Jan 13, 2022
@swiftlang swiftlang deleted a comment from swift-ci Jan 13, 2022
@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Performance (x86_64): -O

Regression OLD NEW DELTA RATIO
FindString.Rec3.Substring 183 200 +9.3% 0.92x (?)
FindString.Loop1.Substring 483 521 +7.9% 0.93x (?)
RemoveWhereQuadraticString 294 317 +7.8% 0.93x (?)
EqualSubstringSubstring 39 42 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
StringFromLongWholeSubstring 5 4 -20.0% 1.25x

Code size: -O

Improvement OLD NEW DELTA RATIO
Combos.o 6038 5974 -1.1% 1.01x

Performance (x86_64): -Osize

Regression OLD NEW DELTA RATIO
FlattenListLoop 1780 2638 +48.2% 0.67x (?)
FlattenListFlatMap 4924 6635 +34.7% 0.74x (?)
ObserverForwarderStruct 955 1140 +19.4% 0.84x (?)
PrefixAnyCollection 180 198 +10.0% 0.91x
PrefixAnySeqCRangeIterLazy 176 193 +9.7% 0.91x
PrefixAnySeqCntRangeLazy 176 193 +9.7% 0.91x
DropWhileAnyCollection 198 216 +9.1% 0.92x
StringComparison_emoji 424 460 +8.5% 0.92x (?)
RemoveWhereQuadraticString 292 315 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
DataCountMedium 34 28 -17.6% 1.21x
DictionaryKeysContainsCocoa 29 24 -17.2% 1.21x (?)
DataSubscriptSmall 37 31 -16.2% 1.19x
DropWhileAnySeqCRangeIter 217 182 -16.1% 1.19x
DropWhileAnySeqCntRange 209 182 -12.9% 1.15x (?)
DataAccessBytesMedium 91 82 -9.9% 1.11x (?)
DataCountSmall 31 28 -9.7% 1.11x
DataAccessBytesSmall 108 98 -9.3% 1.10x
DropFirstAnyCollection 198 180 -9.1% 1.10x (?)
StringBuilderSmallReservingCapacity 342 315 -7.9% 1.09x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
ObserverForwarderStruct.o 3087 3142 +1.8% 0.98x

Performance (x86_64): -Onone

Regression OLD NEW DELTA RATIO
OpaqueConsumingUsers 14500 18500 +27.6% 0.78x
LinkedList 43920 54080 +23.1% 0.81x
RandomDoubleOpaqueDef 51900 55900 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
NSStringConversion.Long 8413 5136 -39.0% 1.64x
NSStringConversion.Medium 3205 2021 -36.9% 1.59x
NSStringConversion.LongUTF8 3127 2032 -35.0% 1.54x
NSStringConversion.MutableCopy.Long 2758 1883 -31.7% 1.46x
NSStringConversion.MutableCopy.LongUTF8 2010 1456 -27.6% 1.38x
NSStringConversion.UTF8 3708 2697 -27.3% 1.37x
NSStringConversion.MutableCopy.Medium 2372 1784 -24.8% 1.33x
StringWalk 15400 11880 -22.9% 1.30x
StrComplexWalk 19580 16430 -16.1% 1.19x
NSStringConversion.MutableCopy.UTF8 1726 1529 -11.4% 1.13x (?)
DataToStringSmall 6250 5600 -10.4% 1.12x (?)
CSVParsingAlt2 3157 2860 -9.4% 1.10x (?)
NSError 704 653 -7.2% 1.08x (?)
CharIteration_chinese_unicodeScalars_Backwards 89520 83160 -7.1% 1.08x (?)
CharIteration_utf16_unicodeScalars_Backwards 138760 129040 -7.0% 1.08x (?)

Code size: -swiftlibs

How to read the data The 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
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@nate-chandler nate-chandler merged commit ac30d86 into swiftlang:main Jan 14, 2022
@nate-chandler nate-chandler deleted the copy_propagation/always-on branch January 14, 2022 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants