Skip to content

ARCSequenceOpts: Enable loop support #33818

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

Merged
merged 1 commit into from
Sep 23, 2020

Conversation

meg-gupta
Copy link
Contributor

No description provided.

@meg-gupta
Copy link
Contributor Author

@swift-ci test

@meg-gupta
Copy link
Contributor Author

@swift-ci benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Sep 5, 2020

Performance: -O

Regression OLD NEW DELTA RATIO
EqualSubstringSubstring 22 29 +31.8% 0.76x
LessSubstringSubstring 22 29 +31.8% 0.76x
EqualStringSubstring 22 29 +31.8% 0.76x (?)
EqualSubstringSubstringGenericEquatable 22 29 +31.8% 0.76x (?)
EqualSubstringString 22 29 +31.8% 0.76x (?)
LessSubstringSubstringGenericComparable 22 29 +31.8% 0.76x
MapReduceLazyCollectionShort 26 30 +15.4% 0.87x (?)
StringComparison_longSharedPrefix 341 379 +11.1% 0.90x (?)
 
Improvement OLD NEW DELTA RATIO
StringFromLongWholeSubstringGeneric 4 3 -25.0% 1.33x (?)
DataCreateEmpty 100 80 -20.0% 1.25x
FlattenListFlatMap 4444 3597 -19.1% 1.24x (?)
ReversedArray2 110 96 -12.7% 1.15x (?)
UTF8Decode_InitDecoding 164 144 -12.2% 1.14x (?)
UTF8Decode_InitFromCustom_contiguous 164 146 -11.0% 1.12x (?)
StringHashing_fastPrenormal 670 620 -7.5% 1.08x (?)
UTF8Decode_InitFromCustom_noncontiguous 320 297 -7.2% 1.08x (?)
StringHashing_latin1 230 214 -7.0% 1.07x (?)

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
FlattenListFlatMap 2451 4305 +75.6% 0.57x (?)
FlattenListLoop 974 1551 +59.2% 0.63x (?)
EqualSubstringSubstring 22 29 +31.8% 0.76x
LessSubstringSubstring 22 29 +31.8% 0.76x
EqualSubstringSubstringGenericEquatable 22 29 +31.8% 0.76x (?)
EqualSubstringString 22 29 +31.8% 0.76x (?)
LessSubstringSubstringGenericComparable 22 29 +31.8% 0.76x
EqualStringSubstring 23 29 +26.1% 0.79x (?)
UTF8Decode_InitFromCustom_noncontiguous_ascii 630 746 +18.4% 0.84x
SuffixCountableRangeLazy 6 7 +16.7% 0.86x
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii 711 826 +16.2% 0.86x (?)
SequenceAlgosArray 1960 2180 +11.2% 0.90x (?)
StringComparison_longSharedPrefix 340 377 +10.9% 0.90x (?)
Data.hash.Medium 30 33 +10.0% 0.91x (?)
SuffixAnySequence 1673 1813 +8.4% 0.92x (?)
UTF8Decode 236 255 +8.1% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SuffixArray 9 5 -44.4% 1.80x
DropFirstAnyCollection 112 85 -24.1% 1.32x
ObjectiveCBridgeStubFromNSDate 3650 2850 -21.9% 1.28x (?)
DropWhileAnyCollection 126 99 -21.4% 1.27x
PrefixWhileAnyCollection 139 112 -19.4% 1.24x (?)
DropLastAnyCollection 42 36 -14.3% 1.17x (?)
DropWhileAnySeqCRangeIterLazy 170 148 -12.9% 1.15x (?)
DropWhileAnySeqCntRangeLazy 170 148 -12.9% 1.15x (?)
MapReduceString 39 34 -12.8% 1.15x (?)
UTF8Decode_InitDecoding 163 144 -11.7% 1.13x
DropFirstAnySeqCRangeIter 125 111 -11.2% 1.13x (?)
DropFirstAnySeqCntRange 125 111 -11.2% 1.13x (?)
PrefixWhileAnyCollectionLazy 121 108 -10.7% 1.12x
PrefixAnySeqCRangeIterLazy 121 108 -10.7% 1.12x
PrefixAnySeqCntRangeLazy 121 108 -10.7% 1.12x (?)
PrefixWhileAnySeqCRangeIterLazy 121 108 -10.7% 1.12x (?)
PrefixWhileAnySeqCntRangeLazy 121 108 -10.7% 1.12x (?)
UTF8Decode_InitFromCustom_contiguous 163 146 -10.4% 1.12x
Set.isDisjoint.Seq.Empty.Box 94 87 -7.4% 1.08x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
Suffix.o 20078 20371 +1.5% 0.99x

Performance: -Onone

Regression OLD NEW DELTA RATIO
EqualSubstringSubstring 26 34 +30.8% 0.76x (?)
EqualSubstringString 27 35 +29.6% 0.77x
EqualSubstringSubstringGenericEquatable 26 33 +26.9% 0.79x
LessSubstringSubstring 27 34 +25.9% 0.79x
EqualStringSubstring 27 34 +25.9% 0.79x (?)
LessSubstringSubstringGenericComparable 27 33 +22.2% 0.82x (?)
StringWalk 2920 3200 +9.6% 0.91x (?)
Data.hash.Medium 35 38 +8.6% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
UTF8Decode_InitFromCustom_contiguous 172 153 -11.0% 1.12x (?)
UTF8Decode_InitDecoding 171 154 -9.9% 1.11x (?)

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 mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@meg-gupta
Copy link
Contributor Author

@swift-ci test

@meg-gupta
Copy link
Contributor Author

@swift-ci test source compatibility

@meg-gupta
Copy link
Contributor Author

@swift-ci benchmark

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
FlattenListLoop 1010 1463 +44.9% 0.69x (?)
EqualSubstringSubstring 22 29 +31.8% 0.76x
LessSubstringSubstring 22 29 +31.8% 0.76x
EqualSubstringSubstringGenericEquatable 22 29 +31.8% 0.76x
EqualSubstringString 22 29 +31.8% 0.76x
LessSubstringSubstringGenericComparable 22 29 +31.8% 0.76x
EqualStringSubstring 23 29 +26.1% 0.79x
MapReduceLazyCollectionShort 26 30 +15.4% 0.87x (?)
StringUTF16Builder 210 240 +14.3% 0.88x
StringComparison_longSharedPrefix 342 380 +11.1% 0.90x (?)
NSStringConversion.UTF8 478 520 +8.8% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
DataCreateEmpty 100 80 -20.0% 1.25x (?)
ReversedArray2 109 96 -11.9% 1.14x (?)
StringHashing_latin1 228 212 -7.0% 1.08x (?)
NormalizedIterator_latin1 262 244 -6.9% 1.07x (?)

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
EqualSubstringSubstring 22 29 +31.8% 0.76x
LessSubstringSubstring 22 29 +31.8% 0.76x
EqualStringSubstring 22 29 +31.8% 0.76x
EqualSubstringSubstringGenericEquatable 22 29 +31.8% 0.76x
EqualSubstringString 22 29 +31.8% 0.76x
Dictionary4 156 204 +30.8% 0.76x
LessSubstringSubstringGenericComparable 23 29 +26.1% 0.79x (?)
Dictionary4OfObjects 227 273 +20.3% 0.83x (?)
UTF8Decode_InitFromCustom_noncontiguous_ascii 632 745 +17.9% 0.85x
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii 749 855 +14.2% 0.88x (?)
StringComparison_longSharedPrefix 341 380 +11.4% 0.90x (?)
SequenceAlgosArray 1960 2180 +11.2% 0.90x (?)
PointerArithmetics 18000 19500 +8.3% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
SuffixArray 9 5 -44.4% 1.80x
DropFirstAnyCollection 113 86 -23.9% 1.31x
DropWhileAnyCollection 126 99 -21.4% 1.27x
PrefixWhileAnyCollection 139 112 -19.4% 1.24x
SuffixCountableRangeLazy 6 5 -16.7% 1.20x (?)
DropLastAnyCollection 42 36 -14.3% 1.17x
DropWhileAnySeqCRangeIterLazy 171 148 -13.5% 1.16x (?)
DropWhileAnySeqCntRangeLazy 171 148 -13.5% 1.16x (?)
DropFirstAnySeqCRangeIter 125 111 -11.2% 1.13x
DropFirstAnySeqCntRange 125 111 -11.2% 1.13x (?)
PrefixWhileAnyCollectionLazy 121 108 -10.7% 1.12x (?)
PrefixAnySeqCRangeIterLazy 121 108 -10.7% 1.12x
PrefixAnySeqCntRangeLazy 121 108 -10.7% 1.12x
PrefixWhileAnySeqCRangeIterLazy 121 108 -10.7% 1.12x
PrefixWhileAnySeqCntRangeLazy 121 108 -10.7% 1.12x
DictionaryKeysContainsCocoa 22 20 -9.1% 1.10x (?)
DataAppendSequence 6400 5900 -7.8% 1.08x (?)
MapReduceString 39 36 -7.7% 1.08x (?)
StringWalk 1640 1520 -7.3% 1.08x (?)
StrComplexWalk 3190 2960 -7.2% 1.08x (?)
StringHashing_latin1 228 212 -7.0% 1.08x (?)
ArrayAppendLatin1Substring 36072 33624 -6.8% 1.07x (?)
Calculator 165 154 -6.7% 1.07x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
Suffix.o 20078 20371 +1.5% 0.99x

Performance: -Onone

Regression OLD NEW DELTA RATIO
LessSubstringSubstringGenericComparable 26 33 +26.9% 0.79x
EqualSubstringSubstring 27 34 +25.9% 0.79x (?)
LessSubstringSubstring 27 34 +25.9% 0.79x (?)
EqualStringSubstring 27 34 +25.9% 0.79x
EqualSubstringString 27 34 +25.9% 0.79x (?)
EqualSubstringSubstringGenericEquatable 27 33 +22.2% 0.82x (?)
DataAppendDataSmallToSmall 2780 3160 +13.7% 0.88x (?)
StringWalk 2920 3200 +9.6% 0.91x (?)
 
Improvement OLD NEW DELTA RATIO
NSError 477 432 -9.4% 1.10x (?)

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 mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@meg-gupta
Copy link
Contributor Author

@swift-ci test

@meg-gupta
Copy link
Contributor Author

@swift-ci benchmark

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - c63dc0c1cfb056a93519af49867c927d6f39c588

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - c63dc0c1cfb056a93519af49867c927d6f39c588

@meg-gupta
Copy link
Contributor Author

@swift-ci benchmark

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
FlattenListFlatMap 2600 4158 +59.9% 0.63x (?)
MapReduceLazyCollectionShort 26 30 +15.4% 0.87x (?)
 
Improvement OLD NEW DELTA RATIO
EqualSubstringSubstring 29 22 -24.1% 1.32x
LessSubstringSubstring 29 22 -24.1% 1.32x
EqualSubstringSubstringGenericEquatable 29 22 -24.1% 1.32x
EqualSubstringString 29 22 -24.1% 1.32x
LessSubstringSubstringGenericComparable 29 22 -24.1% 1.32x
EqualStringSubstring 29 23 -20.7% 1.26x
DataCreateEmpty 100 80 -20.0% 1.25x (?)
UTF8Decode_InitDecoding 170 139 -18.2% 1.22x
UTF8Decode_InitFromCustom_contiguous 170 142 -16.5% 1.20x
ReversedArray2 110 95 -13.6% 1.16x (?)
StringComparison_longSharedPrefix 380 340 -10.5% 1.12x (?)
UTF8Decode_InitFromCustom_noncontiguous 323 295 -8.7% 1.09x (?)
ArrayAppendAsciiSubstring 33552 30816 -8.2% 1.09x (?)
ArrayAppendLatin1Substring 34200 31464 -8.0% 1.09x (?)
NSStringConversion.Long 640 593 -7.3% 1.08x (?)

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
FlattenListLoop 1024 1409 +37.6% 0.73x (?)
Dictionary4 155 207 +33.5% 0.75x
UTF8Decode_InitFromCustom_noncontiguous_ascii 628 778 +23.9% 0.81x
Dictionary4OfObjects 227 276 +21.6% 0.82x (?)
UTF8Decode_InitFromCustom_noncontiguous_ascii_as_ascii 714 862 +20.7% 0.83x (?)
FlattenListFlatMap 2790 3128 +12.1% 0.89x (?)
Set.subtracting.Empty.Box 9 10 +11.1% 0.90x (?)
UTF8Decode_InitFromCustom_contiguous_ascii 188 204 +8.5% 0.92x (?)
StringHashing_fastPrenormal 610 660 +8.2% 0.92x (?)
SuffixAnySequence 1675 1812 +8.2% 0.92x (?)
UTF8Decode_InitDecoding_ascii_as_ascii 203 219 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SuffixArray 9 5 -44.4% 1.80x
EqualSubstringSubstring 29 22 -24.1% 1.32x
LessSubstringSubstring 29 22 -24.1% 1.32x
EqualStringSubstring 29 22 -24.1% 1.32x
EqualSubstringSubstringGenericEquatable 29 22 -24.1% 1.32x (?)
EqualSubstringString 29 22 -24.1% 1.32x
LessSubstringSubstringGenericComparable 29 22 -24.1% 1.32x
DropFirstAnyCollection 112 85 -24.1% 1.32x (?)
DropWhileAnyCollection 126 99 -21.4% 1.27x (?)
PrefixWhileAnyCollection 140 114 -18.6% 1.23x
DropLastAnyCollection 42 36 -14.3% 1.17x (?)
DropWhileAnySeqCntRangeLazy 171 148 -13.5% 1.16x (?)
DropWhileAnySeqCRangeIterLazy 170 148 -12.9% 1.15x (?)
UTF8Decode_InitFromCustom_contiguous 164 143 -12.8% 1.15x (?)
UTF8Decode_InitDecoding 164 143 -12.8% 1.15x (?)
PrefixWhileAnySeqCntRangeLazy 121 107 -11.6% 1.13x
DropFirstAnySeqCRangeIter 125 111 -11.2% 1.13x (?)
DropFirstAnySeqCntRange 125 111 -11.2% 1.13x (?)
PrefixWhileAnyCollectionLazy 121 108 -10.7% 1.12x
PrefixAnySeqCRangeIterLazy 121 108 -10.7% 1.12x (?)
PrefixAnySeqCntRangeLazy 121 108 -10.7% 1.12x
PrefixWhileAnySeqCRangeIterLazy 121 108 -10.7% 1.12x
MapReduceString 38 35 -7.9% 1.09x (?)
Set.isDisjoint.Seq.Empty.Box 94 87 -7.4% 1.08x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
Suffix.o 20078 20371 +1.5% 0.99x

Performance: -Onone

Improvement OLD NEW DELTA RATIO
EqualSubstringSubstring 34 26 -23.5% 1.31x (?)
EqualSubstringSubstringGenericEquatable 33 26 -21.2% 1.27x (?)
LessSubstringSubstringGenericComparable 33 26 -21.2% 1.27x (?)
LessSubstringSubstring 34 27 -20.6% 1.26x
EqualStringSubstring 34 27 -20.6% 1.26x
EqualSubstringString 34 27 -20.6% 1.26x
UTF8Decode_InitFromCustom_contiguous 181 152 -16.0% 1.19x
UTF8Decode_InitDecoding 174 148 -14.9% 1.18x (?)
StringAdder 427 387 -9.4% 1.10x (?)
StringWalk 3200 2920 -8.7% 1.10x (?)

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 mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@meg-gupta
Copy link
Contributor Author

@swift-ci test

@meg-gupta meg-gupta merged commit ff23125 into swiftlang:master Sep 23, 2020
ainu-bot added a commit to google/swift that referenced this pull request Sep 23, 2020
* 'master' of github.com:apple/swift:
  ARCSequenceOpts: Enable loop support (swiftlang#33818)
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.

2 participants