Skip to content

[stdlib] Isolate Array bridging behavior for ABI stability #14717

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 3 commits into from
Feb 27, 2018
Merged

[stdlib] Isolate Array bridging behavior for ABI stability #14717

merged 3 commits into from
Feb 27, 2018

Conversation

lancep
Copy link
Contributor

@lancep lancep commented Feb 19, 2018

rdar://problem/35943342

@lancep
Copy link
Contributor Author

lancep commented Feb 19, 2018

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (2)
TEST OLD NEW DELTA SPEEDUP
StringBuilderLong 1061 1236 +16.5% 0.86x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4251 4642 +9.2% 0.92x
Improvement (7)
TEST OLD NEW DELTA SPEEDUP
WordCountHistogramUTF16 26579 24203 -8.9% 1.10x (?)
DropLastCountableRange 12 11 -8.3% 1.09x
ObjectiveCBridgeStubFromArrayOfNSString 29418 27476 -6.6% 1.07x (?)
ObjectiveCBridgeFromNSArrayAnyObject 20575 19483 -5.3% 1.06x (?)
RemoveWhereSwapInts 20 19 -5.0% 1.05x
ObjectiveCBridgeFromNSDictionaryAnyObject 127914 121588 -4.9% 1.05x
ObjectiveCBridgeStubURLAppendPath 345781 328727 -4.9% 1.05x
No Changes (369)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3649 3619 -0.8% 1.01x (?)
AnyHashableWithAClass 71332 71130 -0.3% 1.00x (?)
Array2D 2561 2551 -0.4% 1.00x (?)
ArrayAppend 1018 1020 +0.2% 1.00x (?)
ArrayAppendArrayOfInt 801 797 -0.5% 1.01x (?)
ArrayAppendAscii 13357 13296 -0.5% 1.00x
ArrayAppendFromGeneric 803 801 -0.2% 1.00x (?)
ArrayAppendGenericStructs 1430 1434 +0.3% 1.00x (?)
ArrayAppendLatin1 38100 38146 +0.1% 1.00x (?)
ArrayAppendLazyMap 1342 1344 +0.1% 1.00x (?)
ArrayAppendOptionals 1431 1427 -0.3% 1.00x (?)
ArrayAppendRepeatCol 1343 1342 -0.1% 1.00x
ArrayAppendReserved 762 763 +0.1% 1.00x (?)
ArrayAppendSequence 1136 1138 +0.2% 1.00x (?)
ArrayAppendStrings 15328 15364 +0.2% 1.00x
ArrayAppendToFromGeneric 800 803 +0.4% 1.00x
ArrayAppendToGeneric 800 800 +0.0% 1.00x
ArrayAppendUTF16 37507 36771 -2.0% 1.02x
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 151 +0.7% 0.99x
ArrayOfGenericRef 4428 4437 +0.2% 1.00x
ArrayOfPOD 183 183 +0.0% 1.00x
ArrayOfRef 4365 4345 -0.5% 1.00x
ArrayPlusEqualArrayOfInt 800 797 -0.4% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5493 5523 +0.5% 0.99x
ArrayPlusEqualSingleElementCollection 1017 1020 +0.3% 1.00x (?)
ArrayPlusEqualThreeElements 1663 1657 -0.4% 1.00x (?)
ArraySubscript 1527 1536 +0.6% 0.99x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 38 38 +0.0% 1.00x
BitCount 202 211 +4.5% 0.96x
ByteSwap 99 100 +1.0% 0.99x
COWTree 3620 3636 +0.4% 1.00x (?)
CSVParsing 758982 757076 -0.3% 1.00x
CSVParsingAlt 725340 724627 -0.1% 1.00x (?)
CSVParsingAltIndices 357420 360387 +0.8% 0.99x (?)
CStringLongAscii 4773 4769 -0.1% 1.00x (?)
CStringLongNonAscii 2082 2162 +3.8% 0.96x (?)
CStringShortAscii 4735 4740 +0.1% 1.00x (?)
Calculator 638 651 +2.0% 0.98x
CaptureProp 3917 3905 -0.3% 1.00x
CharIndexing_ascii_unicodeScalars 15422 15410 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14349 14352 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 11673 11679 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 10862 10874 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 18454 18456 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 17310 17165 -0.8% 1.01x
CharIndexing_korean_unicodeScalars 14953 14951 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 13916 13917 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2790 2787 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2616 2625 +0.3% 1.00x
CharIndexing_punctuated_unicodeScalars 3491 3490 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3268 3270 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 12848 12846 -0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 11966 11958 -0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars 30304 30326 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 28235 28255 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 20346 20325 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 20921 20913 -0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 20613 20727 +0.6% 0.99x
CharIteration_ascii_unicodeScalars_Backwards 13541 13515 -0.2% 1.00x
CharIteration_chinese_unicodeScalars 15730 15706 -0.2% 1.00x
CharIteration_chinese_unicodeScalars_Backwards 10252 10242 -0.1% 1.00x
CharIteration_japanese_unicodeScalars 24692 24861 +0.7% 0.99x
CharIteration_japanese_unicodeScalars_Backwards 16180 16180 +0.0% 1.00x
CharIteration_korean_unicodeScalars 20004 20102 +0.5% 1.00x
CharIteration_korean_unicodeScalars_Backwards 13124 13116 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3700 3746 +1.2% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2472 2474 +0.1% 1.00x
CharIteration_punctuated_unicodeScalars 4681 4672 -0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3087 3096 +0.3% 1.00x
CharIteration_russian_unicodeScalars 17218 17277 +0.3% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 11270 11261 -0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 40705 40998 +0.7% 0.99x
CharIteration_tweet_unicodeScalars_Backwards 26701 26701 +0.0% 1.00x
CharIteration_utf16_unicodeScalars 27308 27330 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 17118 17108 -0.1% 1.00x
CharacterLiteralsLarge 6009 5973 -0.6% 1.01x
CharacterLiteralsSmall 412 413 +0.2% 1.00x
CharacterPropertiesFetch 4580 4635 +1.2% 0.99x (?)
CharacterPropertiesPrecomputed 976 981 +0.5% 0.99x (?)
CharacterPropertiesStashed 1553 1558 +0.3% 1.00x (?)
CharacterPropertiesStashedMemo 1537 1542 +0.3% 1.00x (?)
Chars 970 971 +0.1% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 454 453 -0.2% 1.00x
DictOfArraysToArrayOfDicts 809 803 -0.7% 1.01x (?)
Dictionary 525 503 -4.2% 1.04x
Dictionary2 1680 1614 -3.9% 1.04x (?)
Dictionary2OfObjects 3021 2976 -1.5% 1.02x (?)
Dictionary3 235 234 -0.4% 1.00x (?)
Dictionary3OfObjects 669 669 +0.0% 1.00x
Dictionary4 147 148 +0.7% 0.99x
Dictionary4OfObjects 200 200 +0.0% 1.00x
DictionaryBridge 2038 1982 -2.7% 1.03x (?)
DictionaryGroup 133 132 -0.8% 1.01x
DictionaryGroupOfObjects 1922 1919 -0.2% 1.00x (?)
DictionaryLiteral 1595 1596 +0.1% 1.00x (?)
DictionaryOfObjects 2182 2172 -0.5% 1.00x
DictionaryRemove 2760 2767 +0.3% 1.00x (?)
DictionaryRemoveOfObjects 23775 23783 +0.0% 1.00x (?)
DictionarySubscriptDefaultMutation 143 143 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 490 490 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3833 3840 +0.2% 1.00x
DictionarySubscriptDefaultMutationOfObjects 1392 1394 +0.1% 1.00x (?)
DictionarySwap 469 469 +0.0% 1.00x
DictionarySwapOfObjects 7360 7373 +0.2% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64934 64902 -0.0% 1.00x (?)
DropFirstAnySeqCRangeIter 163 163 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 163 163 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1844 1842 -0.1% 1.00x
DropFirstAnySequenceLazy 1843 1843 +0.0% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2699 2699 +0.0% 1.00x
DropFirstSequenceLazy 2792 2791 -0.0% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21289 21311 +0.1% 1.00x (?)
DropLastAnySeqCRangeIter 3510 3516 +0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3510 3503 -0.2% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5094 5106 +0.2% 1.00x
DropLastAnySequenceLazy 5196 5190 -0.1% 1.00x
DropLastCountableRangeLazy 12 12 +0.0% 1.00x
DropLastSequence 636 632 -0.6% 1.01x
DropLastSequenceLazy 634 629 -0.8% 1.01x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 153 153 +0.0% 1.00x
DropWhileAnySeqCRangeIter 157 157 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 153 153 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 153 153 +0.0% 1.00x
DropWhileAnySequence 1861 1859 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 1856 1856 +0.0% 1.00x
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1340 1340 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 48 +0.0% 1.00x
EqualSubstringString 48 48 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 2395 2314 -3.4% 1.04x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1322 1313 -0.7% 1.01x (?)
FilterEvenUsingReduceInto 149 148 -0.7% 1.01x (?)
FrequenciesUsingReduce 6584 6683 +1.5% 0.99x (?)
FrequenciesUsingReduceInto 3124 3115 -0.3% 1.00x (?)
Hanoi 3620 3607 -0.4% 1.00x
HashTest 1757 1746 -0.6% 1.01x (?)
Histogram 323 323 +0.0% 1.00x
Integrate 217 217 +0.0% 1.00x
IterateData 1313 1304 -0.7% 1.01x
Join 374 375 +0.3% 1.00x (?)
LazilyFilteredArrayContains 36666 36675 +0.0% 1.00x (?)
LazilyFilteredArrays 67230 65438 -2.7% 1.03x (?)
LazilyFilteredRange 3978 3979 +0.0% 1.00x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7542 7540 -0.0% 1.00x (?)
LuhnAlgoEager 584 583 -0.2% 1.00x (?)
LuhnAlgoLazy 587 583 -0.7% 1.01x
MapReduce 400 398 -0.5% 1.01x (?)
MapReduceAnyCollection 399 400 +0.3% 1.00x (?)
MapReduceAnyCollectionShort 2069 2069 +0.0% 1.00x
MapReduceClass 3044 3046 +0.1% 1.00x (?)
MapReduceClassShort 4615 4584 -0.7% 1.01x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 457 458 +0.2% 1.00x (?)
MapReduceShort 2022 2031 +0.4% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 81 81 +0.0% 1.00x
Memset 224 216 -3.6% 1.04x (?)
MonteCarloE 10352 10272 -0.8% 1.01x
MonteCarloPi 42795 42935 +0.3% 1.00x
NSDictionaryCastToSwift 5466 5498 +0.6% 0.99x (?)
NSError 304 303 -0.3% 1.00x (?)
NSStringConversion 300 297 -1.0% 1.01x
NibbleSort 3963 3959 -0.1% 1.00x
NopDeinit 21592 21599 +0.0% 1.00x (?)
ObjectAllocation 185 184 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4073 4186 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 37780 38710 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35024 33983 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 59772 62150 +4.0% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 69612 68094 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSString 1270 1293 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2371 2362 -0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3891 3919 +0.7% 0.99x (?)
ObjectiveCBridgeStubDateMutation 257 258 +0.4% 1.00x
ObjectiveCBridgeStubFromNSDate 3990 4062 +1.8% 0.98x
ObjectiveCBridgeStubFromNSString 844 852 +0.9% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 158 159 +0.6% 0.99x
ObjectiveCBridgeStubNSDataAppend 2533 2641 +4.3% 0.96x (?)
ObjectiveCBridgeStubNSDateMutationRef 13622 13466 -1.1% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 29280 29392 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15947 15870 -0.5% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3425 3459 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSString 1519 1527 +0.5% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 115 115 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPathRef 328184 319984 -2.5% 1.03x (?)
ObjectiveCBridgeToNSArray 29688 30193 +1.7% 0.98x (?)
ObjectiveCBridgeToNSDictionary 51293 51395 +0.2% 1.00x (?)
ObjectiveCBridgeToNSSet 41225 42114 +2.2% 0.98x
ObjectiveCBridgeToNSString 1293 1294 +0.1% 1.00x (?)
ObserverClosure 2182 2191 +0.4% 1.00x
ObserverForwarderStruct 1121 1140 +1.7% 0.98x (?)
ObserverPartiallyAppliedMethod 3775 3787 +0.3% 1.00x
ObserverUnappliedMethod 2502 2507 +0.2% 1.00x (?)
OpenClose 128 126 -1.6% 1.02x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 3853 3847 -0.2% 1.00x
PointerArithmetics 31508 31498 -0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1965 1965 +0.0% 1.00x
PopFrontArrayGeneric 1963 1975 +0.6% 0.99x (?)
PopFrontUnsafePointer 9526 9438 -0.9% 1.01x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65739 64995 -1.1% 1.01x (?)
PrefixAnySeqCRangeIter 128 128 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 128 128 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 72 +1.4% 0.99x
PrefixAnySequence 1378 1380 +0.1% 1.00x
PrefixAnySequenceLazy 1379 1378 -0.1% 1.00x (?)
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1325 1325 +0.0% 1.00x
PrefixSequenceLazy 1414 1414 +0.0% 1.00x
PrefixWhileAnyCollection 147 147 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 419 417 -0.5% 1.00x
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 1541 1540 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1392 1392 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 53 53 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 360 368 +2.2% 0.98x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 756 760 +0.5% 0.99x
PrimsSplit 753 764 +1.5% 0.99x
QueueConcrete 1308 1308 +0.0% 1.00x
QueueGeneric 1159 1157 -0.2% 1.00x (?)
RC4 171 171 +0.0% 1.00x
RGBHistogram 2202 2205 +0.1% 1.00x
RGBHistogramOfObjects 23542 23623 +0.3% 1.00x (?)
RangeAssignment 355 350 -1.4% 1.01x
RangeIterationSigned 171 171 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 981 984 +0.3% 1.00x (?)
RecursiveOwnedParameter 2373 2373 +0.0% 1.00x
RemoveWhereFilterInts 46 46 +0.0% 1.00x
RemoveWhereFilterString 307 311 +1.3% 0.99x
RemoveWhereFilterStrings 433 432 -0.2% 1.00x
RemoveWhereMoveInts 17 17 +0.0% 1.00x
RemoveWhereMoveStrings 519 520 +0.2% 1.00x (?)
RemoveWhereQuadraticInts 1289 1290 +0.1% 1.00x (?)
RemoveWhereQuadraticString 199 202 +1.5% 0.99x (?)
RemoveWhereQuadraticStrings 2760 2756 -0.1% 1.00x
RemoveWhereSwapStrings 850 850 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 15403 15409 +0.0% 1.00x (?)
ReversedDictionary 133 134 +0.8% 0.99x (?)
RomanNumbers 113587 114642 +0.9% 0.99x (?)
SequenceAlgosAnySequence 10132 10199 +0.7% 0.99x
SequenceAlgosArray 1579 1577 -0.1% 1.00x (?)
SequenceAlgosContiguousArray 1580 1573 -0.4% 1.00x
SequenceAlgosList 1350 1349 -0.1% 1.00x
SequenceAlgosRange 4296 4296 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1079 1079 +0.0% 1.00x
SetExclusiveOr 3415 3437 +0.6% 0.99x
SetExclusiveOr_OfObjects 8876 8768 -1.2% 1.01x
SetIntersect 321 320 -0.3% 1.00x (?)
SetIntersect_OfObjects 1760 1761 +0.1% 1.00x (?)
SetIsSubsetOf 299 299 +0.0% 1.00x
SetIsSubsetOf_OfObjects 363 364 +0.3% 1.00x (?)
SetUnion 3127 3139 +0.4% 1.00x (?)
SetUnion_OfObjects 7211 7217 +0.1% 1.00x (?)
SevenBoom 1515 1523 +0.5% 0.99x (?)
Sim2DArray 412 412 +0.0% 1.00x
SortLargeExistentials 6813 6795 -0.3% 1.00x
SortLettersInPlace 1125 1122 -0.3% 1.00x
SortSortedStrings 998 998 +0.0% 1.00x
SortStrings 1786 1785 -0.1% 1.00x (?)
SortStringsUnicode 2570 2544 -1.0% 1.01x
StackPromo 22765 22850 +0.4% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1560 1559 -0.1% 1.00x (?)
StrToInt 2196 2147 -2.2% 1.02x
StringAdder 4202 4196 -0.1% 1.00x (?)
StringBuilder 1424 1376 -3.4% 1.03x
StringComparison_abnormal 740 738 -0.3% 1.00x (?)
StringComparison_ascii 1009 1010 +0.1% 1.00x (?)
StringComparison_emoji 783 764 -2.4% 1.02x
StringComparison_fastPrenormal 764 765 +0.1% 1.00x (?)
StringComparison_latin1 583 577 -1.0% 1.01x
StringComparison_longSharedPrefix 900 896 -0.4% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1561 1508 -3.4% 1.04x (?)
StringComparison_slowerPrenormal 1612 1612 +0.0% 1.00x
StringComparison_zalgo 113780 113899 +0.1% 1.00x (?)
StringEdits 119365 119714 +0.3% 1.00x (?)
StringEnumRawValueInitialization 980 961 -1.9% 1.02x
StringEqualPointerComparison 314 315 +0.3% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1346 1346 +0.0% 1.00x
StringHasPrefixUnicode 27365 27463 +0.4% 1.00x (?)
StringHasSuffixAscii 1460 1462 +0.1% 1.00x (?)
StringHasSuffixUnicode 84655 84569 -0.1% 1.00x (?)
StringInterpolation 10799 10802 +0.0% 1.00x (?)
StringMatch 8442 8456 +0.2% 1.00x
StringRemoveDupes 1197 1192 -0.4% 1.00x (?)
StringUTF16Builder 2375 2368 -0.3% 1.00x (?)
StringWalk 1473 1473 +0.0% 1.00x
StringWithCString 43190 43077 -0.3% 1.00x
StringWordBuilder 1768 1755 -0.7% 1.01x
StringWordBuilderReservingCapacity 1328 1301 -2.0% 1.02x
SubstringComparable 45 45 +0.0% 1.00x
SubstringEqualString 522 517 -1.0% 1.01x
SubstringEquatable 1324 1340 +1.2% 0.99x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21665 21660 -0.0% 1.00x (?)
SuffixAnySeqCRangeIter 3798 3804 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3801 3800 -0.0% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5114 5113 -0.0% 1.00x (?)
SuffixAnySequenceLazy 5216 5220 +0.1% 1.00x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 12 12 +0.0% 1.00x
SuffixSequence 3705 3716 +0.3% 1.00x (?)
SuffixSequenceLazy 3703 3715 +0.3% 1.00x (?)
SumUsingReduce 96 96 +0.0% 1.00x
SumUsingReduceInto 96 96 +0.0% 1.00x
SuperChars 41725 42882 +2.8% 0.97x (?)
TwoSum 1009 1007 -0.2% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 317 316 -0.3% 1.00x
Walsh 417 417 +0.0% 1.00x
WordCountHistogramASCII 7460 7589 +1.7% 0.98x
WordCountUniqueASCII 1805 1826 +1.2% 0.99x (?)
WordCountUniqueUTF16 16663 17211 +3.3% 0.97x (?)
WordSplitASCII 21384 21395 +0.1% 1.00x (?)
WordSplitUTF16 23226 23267 +0.2% 1.00x (?)
XorLoop 394 395 +0.3% 1.00x

Unoptimized (Onone)

Regression (6)
TEST OLD NEW DELTA SPEEDUP
StringRemoveDupes 1382 1588 +14.9% 0.87x (?)
DropWhileCountableRangeLazy 18636 21086 +13.1% 0.88x (?)
ArrayOfPOD 758 847 +11.7% 0.89x
MapReduceShortString 221 238 +7.7% 0.93x
DictionaryLiteral 8624 9102 +5.5% 0.95x
IterateData 5824 6137 +5.4% 0.95x
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
Chars 44450 39621 -10.9% 1.12x
ObjectiveCBridgeStubFromArrayOfNSString 31111 27939 -10.2% 1.11x (?)
Dictionary4OfObjects 1968 1836 -6.7% 1.07x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 99605 93294 -6.3% 1.07x
ObjectiveCBridgeFromNSSetAnyObjectForced 7363 6931 -5.9% 1.06x
CharIteration_russian_unicodeScalars_Backwards 290478 274632 -5.5% 1.06x (?)
DropFirstAnyCollectionLazy 107792 102264 -5.1% 1.05x (?)
WordCountHistogramUTF16 74343 70571 -5.1% 1.05x
ObjectiveCBridgeStubURLAppendPathRef 341232 323963 -5.1% 1.05x (?)
StringUTF16Builder 8371 7967 -4.8% 1.05x (?)
No Changes (362)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5143 5128 -0.3% 1.00x (?)
AnyHashableWithAClass 86945 87224 +0.3% 1.00x
Array2D 631085 631231 +0.0% 1.00x (?)
ArrayAppend 4669 4670 +0.0% 1.00x (?)
ArrayAppendArrayOfInt 863 857 -0.7% 1.01x (?)
ArrayAppendAscii 40413 40654 +0.6% 0.99x
ArrayAppendFromGeneric 871 866 -0.6% 1.01x (?)
ArrayAppendGenericStructs 1500 1504 +0.3% 1.00x
ArrayAppendLatin1 63424 63525 +0.2% 1.00x
ArrayAppendLazyMap 167842 169481 +1.0% 0.99x
ArrayAppendOptionals 1506 1505 -0.1% 1.00x (?)
ArrayAppendRepeatCol 169821 170939 +0.7% 0.99x
ArrayAppendReserved 4396 4397 +0.0% 1.00x (?)
ArrayAppendSequence 144502 141597 -2.0% 1.02x
ArrayAppendStrings 15403 15423 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 863 870 +0.8% 0.99x (?)
ArrayAppendToGeneric 881 872 -1.0% 1.01x
ArrayAppendUTF16 63030 63529 +0.8% 0.99x
ArrayInClass 6341 6340 -0.0% 1.00x (?)
ArrayLiteral 1785 1783 -0.1% 1.00x (?)
ArrayOfGenericPOD2 1129 1185 +5.0% 0.95x
ArrayOfGenericRef 10241 10214 -0.3% 1.00x (?)
ArrayOfRef 9376 9369 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 874 866 -0.9% 1.01x (?)
ArrayPlusEqualFiveElementCollection 253976 252850 -0.4% 1.00x
ArrayPlusEqualSingleElementCollection 242916 246530 +1.5% 0.99x (?)
ArrayPlusEqualThreeElements 9458 9543 +0.9% 0.99x (?)
ArraySubscript 114291 114483 +0.2% 1.00x (?)
ArrayValueProp 3625 3622 -0.1% 1.00x (?)
ArrayValueProp2 15994 16015 +0.1% 1.00x (?)
ArrayValueProp3 4156 4153 -0.1% 1.00x (?)
ArrayValueProp4 4067 4074 +0.2% 1.00x (?)
BinaryFloatingPointConversionFromBinaryInteger 6231 6163 -1.1% 1.01x (?)
BitCount 7652 7654 +0.0% 1.00x (?)
ByteSwap 9132 9125 -0.1% 1.00x (?)
COWTree 11337 11512 +1.5% 0.98x (?)
CSVParsing 2558419 2485643 -2.8% 1.03x
CSVParsingAlt 1304391 1317601 +1.0% 0.99x (?)
CSVParsingAltIndices 2333003 2413257 +3.4% 0.97x (?)
CStringLongAscii 4759 4601 -3.3% 1.03x
CStringLongNonAscii 2073 2179 +5.1% 0.95x
CStringShortAscii 7624 7583 -0.5% 1.01x (?)
Calculator 1530 1573 +2.8% 0.97x
CaptureProp 246780 245831 -0.4% 1.00x
CharIndexing_ascii_unicodeScalars 406178 398583 -1.9% 1.02x (?)
CharIndexing_ascii_unicodeScalars_Backwards 440085 423911 -3.7% 1.04x (?)
CharIndexing_chinese_unicodeScalars 300305 314228 +4.6% 0.96x
CharIndexing_chinese_unicodeScalars_Backwards 328335 330317 +0.6% 0.99x (?)
CharIndexing_japanese_unicodeScalars 473993 491419 +3.7% 0.96x (?)
CharIndexing_japanese_unicodeScalars_Backwards 522155 510620 -2.2% 1.02x (?)
CharIndexing_korean_unicodeScalars 387907 402625 +3.8% 0.96x (?)
CharIndexing_korean_unicodeScalars_Backwards 413733 413240 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 69974 70779 +1.2% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 76929 76096 -1.1% 1.01x (?)
CharIndexing_punctuated_unicodeScalars 88416 88345 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 333171 333387 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 348462 349990 +0.4% 1.00x (?)
CharIndexing_tweet_unicodeScalars 793251 783968 -1.2% 1.01x (?)
CharIndexing_tweet_unicodeScalars_Backwards 866696 836191 -3.5% 1.04x
CharIndexing_utf16_unicodeScalars 332320 327573 -1.4% 1.01x (?)
CharIndexing_utf16_unicodeScalars_Backwards 358560 346076 -3.5% 1.04x (?)
CharIteration_ascii_unicodeScalars 162871 161293 -1.0% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 334823 334423 -0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 119173 117907 -1.1% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 252587 254616 +0.8% 0.99x (?)
CharIteration_japanese_unicodeScalars 188531 185780 -1.5% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 401358 400339 -0.3% 1.00x (?)
CharIteration_korean_unicodeScalars 157860 157219 -0.4% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 329191 326698 -0.8% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 28063 28030 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 58631 57952 -1.2% 1.01x (?)
CharIteration_punctuated_unicodeScalars 36730 36382 -0.9% 1.01x (?)
CharIteration_punctuated_unicodeScalars_Backwards 75148 73474 -2.2% 1.02x (?)
CharIteration_russian_unicodeScalars 135852 134552 -1.0% 1.01x
CharIteration_tweet_unicodeScalars 309787 306587 -1.0% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 672202 658709 -2.0% 1.02x (?)
CharIteration_utf16_unicodeScalars 133642 132009 -1.2% 1.01x (?)
CharIteration_utf16_unicodeScalars_Backwards 275497 274495 -0.4% 1.00x (?)
CharacterLiteralsLarge 5876 5915 +0.7% 0.99x
CharacterLiteralsSmall 691 669 -3.2% 1.03x (?)
CharacterPropertiesFetch 5481 5739 +4.7% 0.96x (?)
CharacterPropertiesPrecomputed 4284 4332 +1.1% 0.99x
CharacterPropertiesStashed 2380 2391 +0.5% 1.00x (?)
CharacterPropertiesStashedMemo 5154 5212 +1.1% 0.99x (?)
ClassArrayGetter 982 987 +0.5% 0.99x
Combos 2166 2189 +1.1% 0.99x (?)
DictOfArraysToArrayOfDicts 3489 3411 -2.2% 1.02x (?)
Dictionary 2604 2666 +2.4% 0.98x (?)
Dictionary2 2900 2917 +0.6% 0.99x (?)
Dictionary2OfObjects 5744 5573 -3.0% 1.03x (?)
Dictionary3 1352 1334 -1.3% 1.01x (?)
Dictionary3OfObjects 2327 2294 -1.4% 1.01x (?)
Dictionary4 1176 1197 +1.8% 0.98x (?)
DictionaryBridge 2168 2245 +3.6% 0.97x
DictionaryGroup 4121 4156 +0.8% 0.99x
DictionaryGroupOfObjects 7343 7317 -0.4% 1.00x (?)
DictionaryOfObjects 6308 6114 -3.1% 1.03x (?)
DictionaryRemove 18184 18233 +0.3% 1.00x (?)
DictionaryRemoveOfObjects 50603 50400 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutation 2073 2064 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2326 2318 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9258 9157 -1.1% 1.01x
DictionarySubscriptDefaultMutationOfObjects 5745 5592 -2.7% 1.03x
DictionarySwap 5226 5263 +0.7% 0.99x
DictionarySwapOfObjects 22365 22311 -0.2% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13525 13484 -0.3% 1.00x
DropFirstAnySeqCRangeIter 20524 20888 +1.8% 0.98x
DropFirstAnySeqCRangeIterLazy 20443 20539 +0.5% 1.00x (?)
DropFirstAnySeqCntRange 13433 13530 +0.7% 0.99x
DropFirstAnySeqCntRangeLazy 13515 13588 +0.5% 0.99x
DropFirstAnySequence 11128 11088 -0.4% 1.00x
DropFirstAnySequenceLazy 10844 10696 -1.4% 1.01x
DropFirstArray 4222 4211 -0.3% 1.00x
DropFirstArrayLazy 29793 29733 -0.2% 1.00x
DropFirstCountableRange 327 328 +0.3% 1.00x (?)
DropFirstCountableRangeLazy 30626 30070 -1.8% 1.02x
DropFirstSequence 10539 10446 -0.9% 1.01x
DropFirstSequenceLazy 10497 10366 -1.2% 1.01x
DropLastAnyCollection 4520 4523 +0.1% 1.00x (?)
DropLastAnyCollectionLazy 35651 34682 -2.7% 1.03x (?)
DropLastAnySeqCRangeIter 37231 37318 +0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 37262 37482 +0.6% 0.99x (?)
DropLastAnySeqCntRange 4481 4524 +1.0% 0.99x (?)
DropLastAnySeqCntRangeLazy 4511 4546 +0.8% 0.99x
DropLastAnySequence 29135 29018 -0.4% 1.00x
DropLastAnySequenceLazy 29315 29306 -0.0% 1.00x (?)
DropLastCountableRange 112 112 +0.0% 1.00x
DropLastCountableRangeLazy 10256 10012 -2.4% 1.02x
DropLastSequence 28888 29028 +0.5% 1.00x (?)
DropLastSequenceLazy 28952 28776 -0.6% 1.01x
DropWhileAnyCollection 17115 17089 -0.2% 1.00x (?)
DropWhileAnyCollectionLazy 19035 18812 -1.2% 1.01x (?)
DropWhileAnySeqCRangeIter 25643 25862 +0.9% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 18972 19047 +0.4% 1.00x (?)
DropWhileAnySeqCntRange 17128 17204 +0.4% 1.00x (?)
DropWhileAnySeqCntRangeLazy 18792 18824 +0.2% 1.00x (?)
DropWhileAnySequence 12251 12080 -1.4% 1.01x
DropWhileAnySequenceLazy 10139 10079 -0.6% 1.01x
DropWhileArrayLazy 13775 13808 +0.2% 1.00x
DropWhileCountableRange 3970 3978 +0.2% 1.00x (?)
DropWhileSequence 12119 12065 -0.4% 1.00x
DropWhileSequenceLazy 9888 9807 -0.8% 1.01x
EqualStringSubstring 91 91 +0.0% 1.00x
EqualSubstringString 94 94 +0.0% 1.00x
EqualSubstringSubstring 92 92 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 98 98 +0.0% 1.00x
ErrorHandling 7240 6983 -3.5% 1.04x (?)
ExclusivityGlobal 189 189 +0.0% 1.00x
ExclusivityIndependent 70 70 +0.0% 1.00x
FilterEvenUsingReduce 3651 3632 -0.5% 1.01x (?)
FilterEvenUsingReduceInto 1974 1978 +0.2% 1.00x
FrequenciesUsingReduce 10450 10400 -0.5% 1.00x (?)
FrequenciesUsingReduceInto 5473 5579 +1.9% 0.98x
Hanoi 20255 20367 +0.6% 0.99x (?)
HashTest 21486 22023 +2.5% 0.98x (?)
Histogram 6492 6488 -0.1% 1.00x (?)
Integrate 817 818 +0.1% 1.00x
Join 1117 1120 +0.3% 1.00x
LazilyFilteredArrayContains 776381 782962 +0.8% 0.99x
LazilyFilteredArrays 1461852 1463144 +0.1% 1.00x
LazilyFilteredRange 480035 466708 -2.8% 1.03x (?)
LessSubstringSubstring 92 92 +0.0% 1.00x
LessSubstringSubstringGenericComparable 97 97 +0.0% 1.00x
LinkedList 32209 32212 +0.0% 1.00x (?)
LuhnAlgoEager 4758 4786 +0.6% 0.99x (?)
LuhnAlgoLazy 5020 4987 -0.7% 1.01x (?)
MapReduce 25518 25515 -0.0% 1.00x (?)
MapReduceAnyCollection 25606 25477 -0.5% 1.01x
MapReduceAnyCollectionShort 37192 37009 -0.5% 1.00x (?)
MapReduceClass 30117 29996 -0.4% 1.00x (?)
MapReduceClassShort 41652 40765 -2.1% 1.02x
MapReduceLazyCollection 22435 22458 +0.1% 1.00x (?)
MapReduceLazyCollectionShort 32517 32593 +0.2% 1.00x (?)
MapReduceLazySequence 17650 17254 -2.2% 1.02x
MapReduceSequence 29532 29063 -1.6% 1.02x
MapReduceShort 37224 36436 -2.1% 1.02x (?)
MapReduceString 1803 1809 +0.3% 1.00x (?)
Memset 44726 44798 +0.2% 1.00x
MonteCarloE 1219398 1216910 -0.2% 1.00x (?)
MonteCarloPi 5529597 5503613 -0.5% 1.00x
NSDictionaryCastToSwift 6845 6883 +0.6% 0.99x (?)
NSError 715 714 -0.1% 1.00x (?)
NSStringConversion 343 340 -0.9% 1.01x
NibbleSort 410864 409497 -0.3% 1.00x
NopDeinit 169511 169239 -0.2% 1.00x
ObjectAllocation 1376 1357 -1.4% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 22428 23367 +4.2% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8434 8534 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39513 41556 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35827 36556 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 130281 129375 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 64958 66968 +3.1% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 77187 76358 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSString 3253 3135 -3.6% 1.04x (?)
ObjectiveCBridgeFromNSStringForced 2707 2707 +0.0% 1.00x
ObjectiveCBridgeStubDataAppend 4624 4601 -0.5% 1.00x (?)
ObjectiveCBridgeStubDateMutation 649 646 -0.5% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4877 4938 +1.3% 0.99x
ObjectiveCBridgeStubFromNSString 874 882 +0.9% 0.99x
ObjectiveCBridgeStubFromNSStringRef 196 197 +0.5% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 3053 3050 -0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 16815 16711 -0.6% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 29367 29680 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSDate 16537 16036 -3.0% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3472 3477 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1646 1643 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 159 159 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 338855 344548 +1.7% 0.98x (?)
ObjectiveCBridgeToNSArray 29716 29891 +0.6% 0.99x (?)
ObjectiveCBridgeToNSDictionary 53328 52644 -1.3% 1.01x (?)
ObjectiveCBridgeToNSSet 42532 42472 -0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1353 1354 +0.1% 1.00x (?)
ObserverClosure 6488 6537 +0.8% 0.99x
ObserverForwarderStruct 4476 4493 +0.4% 1.00x
ObserverPartiallyAppliedMethod 7919 7933 +0.2% 1.00x (?)
ObserverUnappliedMethod 8075 8082 +0.1% 1.00x (?)
OpenClose 537 556 +3.5% 0.97x
PartialApplyDynamicType 40892 40962 +0.2% 1.00x (?)
Phonebook 19925 19994 +0.3% 1.00x
PointerArithmetics 120250 114555 -4.7% 1.05x
PolymorphicCalls 6331 6435 +1.6% 0.98x (?)
PopFrontArray 4642 4641 -0.0% 1.00x (?)
PopFrontArrayGeneric 5889 5872 -0.3% 1.00x
PopFrontUnsafePointer 11265 11293 +0.2% 1.00x (?)
PrefixAnyCollection 13510 13527 +0.1% 1.00x (?)
PrefixAnyCollectionLazy 103821 104028 +0.2% 1.00x (?)
PrefixAnySeqCRangeIter 16529 16636 +0.6% 0.99x (?)
PrefixAnySeqCRangeIterLazy 16757 16730 -0.2% 1.00x (?)
PrefixAnySeqCntRange 13494 13529 +0.3% 1.00x (?)
PrefixAnySeqCntRangeLazy 13590 13608 +0.1% 1.00x (?)
PrefixAnySequence 8981 8862 -1.3% 1.01x
PrefixAnySequenceLazy 9049 8932 -1.3% 1.01x (?)
PrefixArray 4233 4253 +0.5% 1.00x
PrefixArrayLazy 29823 29664 -0.5% 1.01x (?)
PrefixCountableRange 326 326 +0.0% 1.00x
PrefixCountableRangeLazy 30627 30167 -1.5% 1.02x (?)
PrefixSequence 8805 8916 +1.3% 0.99x (?)
PrefixSequenceLazy 8727 8644 -1.0% 1.01x (?)
PrefixWhileAnyCollection 24162 24245 +0.3% 1.00x
PrefixWhileAnyCollectionLazy 15924 16011 +0.5% 0.99x (?)
PrefixWhileAnySeqCRangeIter 32600 32523 -0.2% 1.00x
PrefixWhileAnySeqCRangeIterLazy 15748 15850 +0.6% 0.99x
PrefixWhileAnySeqCntRange 24181 24262 +0.3% 1.00x
PrefixWhileAnySeqCntRangeLazy 16005 15939 -0.4% 1.00x (?)
PrefixWhileAnySequence 25886 25861 -0.1% 1.00x
PrefixWhileAnySequenceLazy 9195 9276 +0.9% 0.99x (?)
PrefixWhileArray 11056 11036 -0.2% 1.00x
PrefixWhileArrayLazy 12037 12019 -0.1% 1.00x (?)
PrefixWhileCountableRange 11149 11021 -1.1% 1.01x (?)
PrefixWhileCountableRangeLazy 15604 15601 -0.0% 1.00x (?)
PrefixWhileSequence 25645 25622 -0.1% 1.00x (?)
PrefixWhileSequenceLazy 9078 9022 -0.6% 1.01x
Prims 9670 9813 +1.5% 0.99x (?)
PrimsSplit 9712 9688 -0.2% 1.00x (?)
QueueConcrete 15040 14963 -0.5% 1.01x
QueueGeneric 18963 18979 +0.1% 1.00x
RC4 16802 16931 +0.8% 0.99x
RGBHistogram 26016 26031 +0.1% 1.00x (?)
RGBHistogramOfObjects 96723 96608 -0.1% 1.00x (?)
RangeAssignment 2250 2185 -2.9% 1.03x
RangeIterationSigned 17001 16761 -1.4% 1.01x (?)
RangeIterationSigned64 39252 38721 -1.4% 1.01x (?)
RangeIterationUnsigned 35023 34303 -2.1% 1.02x (?)
RangeReplaceableCollectionPlusDefault 8481 8342 -1.6% 1.02x (?)
RecursiveOwnedParameter 7963 7961 -0.0% 1.00x (?)
RemoveWhereFilterInts 2090 2092 +0.1% 1.00x (?)
RemoveWhereFilterString 1446 1458 +0.8% 0.99x
RemoveWhereFilterStrings 2921 2926 +0.2% 1.00x
RemoveWhereMoveInts 3330 3332 +0.1% 1.00x (?)
RemoveWhereMoveStrings 4035 4034 -0.0% 1.00x
RemoveWhereQuadraticInts 7641 7657 +0.2% 1.00x
RemoveWhereQuadraticString 2289 2281 -0.3% 1.00x
RemoveWhereQuadraticStrings 9316 9321 +0.1% 1.00x (?)
RemoveWhereSwapInts 5983 5996 +0.2% 1.00x
RemoveWhereSwapStrings 6726 6723 -0.0% 1.00x (?)
ReversedArray 13064 13076 +0.1% 1.00x (?)
ReversedBidirectional 43481 42348 -2.6% 1.03x
ReversedDictionary 23971 23726 -1.0% 1.01x (?)
RomanNumbers 1224962 1215422 -0.8% 1.01x (?)
SequenceAlgosAnySequence 12599 12648 +0.4% 1.00x
SequenceAlgosArray 773818 770625 -0.4% 1.00x
SequenceAlgosContiguousArray 319707 326994 +2.3% 0.98x
SequenceAlgosList 8205 8126 -1.0% 1.01x
SequenceAlgosRange 1060866 1064668 +0.4% 1.00x
SequenceAlgosUnfoldSequence 5670 5505 -2.9% 1.03x (?)
SetExclusiveOr 17214 17281 +0.4% 1.00x (?)
SetExclusiveOr_OfObjects 42072 41956 -0.3% 1.00x (?)
SetIntersect 8409 8305 -1.2% 1.01x (?)
SetIntersect_OfObjects 12248 12210 -0.3% 1.00x (?)
SetIsSubsetOf 1362 1365 +0.2% 1.00x
SetIsSubsetOf_OfObjects 1552 1559 +0.5% 1.00x (?)
SetUnion 12007 11965 -0.3% 1.00x
SetUnion_OfObjects 29464 29442 -0.1% 1.00x (?)
SevenBoom 1690 1722 +1.9% 0.98x
Sim2DArray 47326 47382 +0.1% 1.00x (?)
SortLargeExistentials 15504 15433 -0.5% 1.00x
SortLettersInPlace 2725 2715 -0.4% 1.00x (?)
SortSortedStrings 1054 1065 +1.0% 0.99x
SortStrings 2054 2077 +1.1% 0.99x
SortStringsUnicode 2804 2859 +2.0% 0.98x
StackPromo 97229 94530 -2.8% 1.03x (?)
StaticArray 2654 2690 +1.4% 0.99x (?)
StrComplexWalk 6661 6444 -3.3% 1.03x
StrToInt 58049 57281 -1.3% 1.01x
StringAdder 4714 4700 -0.3% 1.00x
StringBuilder 6764 6842 +1.2% 0.99x (?)
StringBuilderLong 2745 2694 -1.9% 1.02x
StringComparison_abnormal 1340 1334 -0.4% 1.00x (?)
StringComparison_ascii 9571 9675 +1.1% 0.99x
StringComparison_emoji 2103 2112 +0.4% 1.00x (?)
StringComparison_fastPrenormal 5197 5245 +0.9% 0.99x
StringComparison_latin1 4059 4072 +0.3% 1.00x
StringComparison_longSharedPrefix 2474 2468 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3818 3829 +0.3% 1.00x (?)
StringComparison_slowerPrenormal 4309 4312 +0.1% 1.00x (?)
StringComparison_zalgo 115897 115921 +0.0% 1.00x (?)
StringEdits 340074 349572 +2.8% 0.97x (?)
StringEnumRawValueInitialization 17599 18068 +2.7% 0.97x
StringEqualPointerComparison 3621 3665 +1.2% 0.99x (?)
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 202 202 +0.0% 1.00x
StringHasPrefixAscii 3093 3123 +1.0% 0.99x
StringHasPrefixUnicode 29486 29488 +0.0% 1.00x (?)
StringHasSuffixAscii 3180 3189 +0.3% 1.00x (?)
StringHasSuffixUnicode 86759 86713 -0.1% 1.00x (?)
StringInterpolation 14706 14248 -3.1% 1.03x (?)
StringMatch 35640 34584 -3.0% 1.03x (?)
StringWalk 13228 12801 -3.2% 1.03x
StringWithCString 39457 37685 -4.5% 1.05x
StringWordBuilder 2511 2503 -0.3% 1.00x (?)
StringWordBuilderReservingCapacity 2173 2176 +0.1% 1.00x (?)
SubstringComparable 2066 2068 +0.1% 1.00x (?)
SubstringEqualString 1910 1931 +1.1% 0.99x (?)
SubstringEquatable 6056 5949 -1.8% 1.02x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 113 113 +0.0% 1.00x
SuffixAnyCollection 4517 4560 +1.0% 0.99x (?)
SuffixAnyCollectionLazy 36437 35707 -2.0% 1.02x (?)
SuffixAnySeqCRangeIter 33922 33571 -1.0% 1.01x
SuffixAnySeqCRangeIterLazy 33371 33315 -0.2% 1.00x (?)
SuffixAnySeqCntRange 4526 4523 -0.1% 1.00x
SuffixAnySeqCntRangeLazy 4521 4551 +0.7% 0.99x (?)
SuffixAnySequence 25309 25109 -0.8% 1.01x (?)
SuffixAnySequenceLazy 25181 24947 -0.9% 1.01x
SuffixCountableRange 115 113 -1.7% 1.02x
SuffixCountableRangeLazy 10208 9996 -2.1% 1.02x (?)
SuffixSequence 25228 25341 +0.4% 1.00x (?)
SuffixSequenceLazy 25220 24984 -0.9% 1.01x (?)
SumUsingReduce 167347 166630 -0.4% 1.00x (?)
SumUsingReduceInto 158069 161382 +2.1% 0.98x
SuperChars 132068 130323 -1.3% 1.01x (?)
TwoSum 3989 3977 -0.3% 1.00x (?)
TypeFlood 162 162 +0.0% 1.00x
UTF8Decode 29890 29863 -0.1% 1.00x
Walsh 12048 12040 -0.1% 1.00x (?)
WordCountHistogramASCII 47593 47418 -0.4% 1.00x (?)
WordCountUniqueASCII 8009 7984 -0.3% 1.00x
WordCountUniqueUTF16 27957 27121 -3.0% 1.03x (?)
WordSplitASCII 27011 26584 -1.6% 1.02x (?)
WordSplitUTF16 26861 26733 -0.5% 1.00x (?)
XorLoop 23447 23491 +0.2% 1.00x (?)
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

@lancep
Copy link
Contributor Author

lancep commented Feb 20, 2018

@swift-ci please test

@lancep
Copy link
Contributor Author

lancep commented Feb 26, 2018

@swift-ci please test

@swiftlang swiftlang deleted a comment from swift-ci Feb 26, 2018
@lancep lancep changed the title [stdlib-wip] Isolate Array bridging behavior for ABI stability [stdlib] Isolate Array bridging behavior for ABI stability Feb 27, 2018
@lancep
Copy link
Contributor Author

lancep commented Feb 27, 2018

I think this is good to merge but I'd like some extra eyes on it first

@lancep
Copy link
Contributor Author

lancep commented Feb 27, 2018

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (5)
TEST OLD NEW DELTA SPEEDUP
DropLastCountableRangeLazy 11 12 +9.1% 0.92x
WordCountUniqueUTF16 16217 17473 +7.7% 0.93x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71558 76966 +7.6% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4120 4405 +6.9% 0.94x (?)
ObjectiveCBridgeStubFromArrayOfNSString 26212 27951 +6.6% 0.94x (?)
Improvement (3)
TEST OLD NEW DELTA SPEEDUP
StringBuilderLong 1209 1121 -7.3% 1.08x (?)
DictionaryBridge 2124 2008 -5.5% 1.06x (?)
NSDictionaryCastToSwift 5488 5220 -4.9% 1.05x (?)
No Changes (370)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3661 3659 -0.1% 1.00x (?)
AnyHashableWithAClass 71442 71222 -0.3% 1.00x (?)
Array2D 2558 2531 -1.1% 1.01x (?)
ArrayAppend 1021 1021 +0.0% 1.00x
ArrayAppendArrayOfInt 797 787 -1.3% 1.01x (?)
ArrayAppendAscii 13247 13195 -0.4% 1.00x
ArrayAppendFromGeneric 799 803 +0.5% 1.00x (?)
ArrayAppendGenericStructs 1431 1430 -0.1% 1.00x (?)
ArrayAppendLatin1 38115 38015 -0.3% 1.00x
ArrayAppendLazyMap 1336 1342 +0.4% 1.00x (?)
ArrayAppendOptionals 1430 1429 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1336 1341 +0.4% 1.00x (?)
ArrayAppendReserved 755 756 +0.1% 1.00x (?)
ArrayAppendSequence 1135 1138 +0.3% 1.00x (?)
ArrayAppendStrings 15271 15263 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 800 799 -0.1% 1.00x (?)
ArrayAppendToGeneric 803 800 -0.4% 1.00x (?)
ArrayAppendUTF16 37311 37553 +0.6% 0.99x (?)
ArrayInClass 86 85 -1.2% 1.01x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4396 4387 -0.2% 1.00x (?)
ArrayOfPOD 184 183 -0.5% 1.01x
ArrayOfRef 4424 4382 -0.9% 1.01x
ArrayPlusEqualArrayOfInt 797 800 +0.4% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5505 5494 -0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 1022 1022 +0.0% 1.00x
ArrayPlusEqualThreeElements 1676 1659 -1.0% 1.01x (?)
ArraySubscript 1525 1517 -0.5% 1.01x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 38 37 -2.6% 1.03x
BitCount 211 211 +0.0% 1.00x
ByteSwap 101 102 +1.0% 0.99x
COWTree 5513 5551 +0.7% 0.99x
CSVParsing 758808 765813 +0.9% 0.99x
CSVParsingAlt 720789 725385 +0.6% 0.99x
CSVParsingAltIndices 358318 354857 -1.0% 1.01x
CStringLongAscii 4772 4780 +0.2% 1.00x (?)
CStringLongNonAscii 2167 2104 -2.9% 1.03x (?)
CStringShortAscii 4746 4733 -0.3% 1.00x
Calculator 650 651 +0.2% 1.00x
CaptureProp 3908 3915 +0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars 15415 15416 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14489 14490 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 11668 11673 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 10984 10982 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 18450 18442 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 17353 17349 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 14931 14939 +0.1% 1.00x
CharIndexing_korean_unicodeScalars_Backwards 14049 14050 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2781 2782 +0.0% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2635 2635 +0.0% 1.00x
CharIndexing_punctuated_unicodeScalars 3484 3483 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3292 3295 +0.1% 1.00x
CharIndexing_russian_unicodeScalars 12838 12831 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 12075 12083 +0.1% 1.00x
CharIndexing_tweet_unicodeScalars 30343 30321 -0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 28259 28267 +0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 20393 20335 -0.3% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 21101 21102 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 21213 20530 -3.2% 1.03x
CharIteration_ascii_unicodeScalars_Backwards 14100 13522 -4.1% 1.04x
CharIteration_chinese_unicodeScalars 16103 15523 -3.6% 1.04x
CharIteration_chinese_unicodeScalars_Backwards 10239 10246 +0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars 24916 24617 -1.2% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 16172 16193 +0.1% 1.00x
CharIteration_korean_unicodeScalars 20180 19922 -1.3% 1.01x
CharIteration_korean_unicodeScalars_Backwards 13105 13114 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3727 3664 -1.7% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2466 2467 +0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4682 4585 -2.1% 1.02x
CharIteration_punctuated_unicodeScalars_Backwards 3081 3082 +0.0% 1.00x
CharIteration_russian_unicodeScalars 17342 17113 -1.3% 1.01x
CharIteration_russian_unicodeScalars_Backwards 11265 11262 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 41027 40743 -0.7% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 26709 26695 -0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 27238 27313 +0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 17283 17272 -0.1% 1.00x (?)
CharacterLiteralsLarge 6012 6000 -0.2% 1.00x (?)
CharacterLiteralsSmall 410 410 +0.0% 1.00x
CharacterPropertiesFetch 4613 4575 -0.8% 1.01x (?)
CharacterPropertiesPrecomputed 971 972 +0.1% 1.00x (?)
CharacterPropertiesStashed 1563 1533 -1.9% 1.02x
CharacterPropertiesStashedMemo 1554 1548 -0.4% 1.00x (?)
Chars 969 970 +0.1% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 467 466 -0.2% 1.00x (?)
DictOfArraysToArrayOfDicts 786 797 +1.4% 0.99x (?)
Dictionary 504 501 -0.6% 1.01x
Dictionary2 1618 1614 -0.2% 1.00x
Dictionary2OfObjects 2963 2991 +0.9% 0.99x
Dictionary3 235 234 -0.4% 1.00x
Dictionary3OfObjects 673 672 -0.1% 1.00x (?)
Dictionary4 146 147 +0.7% 0.99x
Dictionary4OfObjects 201 201 +0.0% 1.00x
DictionaryGroup 133 133 +0.0% 1.00x
DictionaryGroupOfObjects 1942 1941 -0.1% 1.00x (?)
DictionaryLiteral 1597 1596 -0.1% 1.00x (?)
DictionaryOfObjects 2204 2210 +0.3% 1.00x (?)
DictionaryRemove 2784 2766 -0.6% 1.01x (?)
DictionaryRemoveOfObjects 23731 23741 +0.0% 1.00x (?)
DictionarySubscriptDefaultMutation 142 144 +1.4% 0.99x (?)
DictionarySubscriptDefaultMutationArray 489 490 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3837 3828 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1401 1386 -1.1% 1.01x
DictionarySwap 469 470 +0.2% 1.00x
DictionarySwapOfObjects 7462 7361 -1.4% 1.01x
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 101 101 +0.0% 1.00x
DropFirstAnyCollectionLazy 67788 65335 -3.6% 1.04x (?)
DropFirstAnySeqCRangeIter 18757 19050 +1.6% 0.98x (?)
DropFirstAnySeqCRangeIterLazy 18765 18959 +1.0% 0.99x (?)
DropFirstAnySeqCntRange 94 94 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 94 94 +0.0% 1.00x
DropFirstAnySequence 4693 4659 -0.7% 1.01x (?)
DropFirstAnySequenceLazy 4675 4627 -1.0% 1.01x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2699 2701 +0.1% 1.00x (?)
DropFirstSequenceLazy 2788 2786 -0.1% 1.00x (?)
DropLastAnyCollection 37 37 +0.0% 1.00x
DropLastAnyCollectionLazy 22405 21774 -2.8% 1.03x (?)
DropLastAnySeqCRangeIter 3816 3818 +0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3818 3815 -0.1% 1.00x (?)
DropLastAnySeqCntRange 29 29 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 30 30 +0.0% 1.00x
DropLastAnySequence 5147 5152 +0.1% 1.00x (?)
DropLastAnySequenceLazy 5238 5245 +0.1% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastSequence 637 637 +0.0% 1.00x
DropLastSequenceLazy 636 638 +0.3% 1.00x
DropWhileAnyCollection 125 125 +0.0% 1.00x
DropWhileAnyCollectionLazy 166 166 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15027 15228 +1.3% 0.99x
DropWhileAnySeqCRangeIterLazy 167 166 -0.6% 1.01x
DropWhileAnySeqCntRange 118 118 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 166 166 +0.0% 1.00x
DropWhileAnySequence 5060 5051 -0.2% 1.00x
DropWhileAnySequenceLazy 1856 1858 +0.1% 1.00x (?)
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1345 1344 -0.1% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 49 +2.1% 0.98x
EqualSubstringString 48 49 +2.1% 0.98x
EqualSubstringSubstring 47 48 +2.1% 0.98x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 2278 2262 -0.7% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1325 1314 -0.8% 1.01x (?)
FilterEvenUsingReduceInto 148 149 +0.7% 0.99x (?)
FrequenciesUsingReduce 6649 6575 -1.1% 1.01x (?)
FrequenciesUsingReduceInto 3125 3123 -0.1% 1.00x (?)
Hanoi 3314 3325 +0.3% 1.00x (?)
HashTest 1753 1753 +0.0% 1.00x
Histogram 323 319 -1.2% 1.01x (?)
Integrate 335 335 +0.0% 1.00x
IterateData 1264 1306 +3.3% 0.97x
Join 371 370 -0.3% 1.00x (?)
LazilyFilteredArrayContains 36267 36253 -0.0% 1.00x (?)
LazilyFilteredArrays 67022 65257 -2.6% 1.03x (?)
LazilyFilteredRange 3837 3848 +0.3% 1.00x (?)
LessSubstringSubstring 48 49 +2.1% 0.98x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7563 7561 -0.0% 1.00x (?)
LuhnAlgoEager 614 613 -0.2% 1.00x (?)
LuhnAlgoLazy 612 609 -0.5% 1.00x (?)
MapReduce 398 398 +0.0% 1.00x
MapReduceAnyCollection 429 430 +0.2% 1.00x
MapReduceAnyCollectionShort 2242 2236 -0.3% 1.00x (?)
MapReduceClass 3030 3026 -0.1% 1.00x (?)
MapReduceClassShort 4595 4592 -0.1% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 38 38 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 461 454 -1.5% 1.02x
MapReduceShort 2039 2026 -0.6% 1.01x (?)
MapReduceShortString 21 22 +4.8% 0.95x
MapReduceString 83 83 +0.0% 1.00x
Memset 215 214 -0.5% 1.00x (?)
MonteCarloE 10298 10312 +0.1% 1.00x (?)
MonteCarloPi 43111 42698 -1.0% 1.01x
NSError 304 303 -0.3% 1.00x (?)
NSStringConversion 292 306 +4.8% 0.95x
NibbleSort 4189 4183 -0.1% 1.00x (?)
NopDeinit 23061 23089 +0.1% 1.00x (?)
ObjectAllocation 184 183 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 20053 20412 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39640 37855 -4.5% 1.05x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33836 34815 +2.9% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 126339 126090 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 59655 58992 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4242 4393 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSString 1299 1309 +0.8% 0.99x
ObjectiveCBridgeFromNSStringForced 2431 2441 +0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3895 3930 +0.9% 0.99x (?)
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3967 3962 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 872 864 -0.9% 1.01x
ObjectiveCBridgeStubFromNSStringRef 159 158 -0.6% 1.01x
ObjectiveCBridgeStubNSDataAppend 2552 2613 +2.4% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 13459 13587 +1.0% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 29312 28922 -1.3% 1.01x (?)
ObjectiveCBridgeStubToNSDate 15370 15692 +2.1% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3427 3425 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1518 1517 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 115 115 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 330664 345236 +4.4% 0.96x (?)
ObjectiveCBridgeStubURLAppendPathRef 346131 338795 -2.1% 1.02x (?)
ObjectiveCBridgeToNSArray 29321 29422 +0.3% 1.00x (?)
ObjectiveCBridgeToNSDictionary 50808 52892 +4.1% 0.96x (?)
ObjectiveCBridgeToNSSet 42814 43203 +0.9% 0.99x
ObjectiveCBridgeToNSString 1292 1291 -0.1% 1.00x (?)
ObserverClosure 2157 2165 +0.4% 1.00x (?)
ObserverForwarderStruct 1070 1066 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3716 3719 +0.1% 1.00x (?)
ObserverUnappliedMethod 2375 2479 +4.4% 0.96x (?)
OpenClose 123 123 +0.0% 1.00x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 3775 3770 -0.1% 1.00x
PointerArithmetics 34386 34381 -0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1972 1961 -0.6% 1.01x
PopFrontArrayGeneric 1993 1959 -1.7% 1.02x (?)
PopFrontUnsafePointer 9437 9399 -0.4% 1.00x (?)
PrefixAnyCollection 101 102 +1.0% 0.99x
PrefixAnyCollectionLazy 67245 67846 +0.9% 0.99x
PrefixAnySeqCRangeIter 14596 14676 +0.5% 0.99x (?)
PrefixAnySeqCRangeIterLazy 14565 14618 +0.4% 1.00x
PrefixAnySeqCntRange 94 94 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 94 94 +0.0% 1.00x
PrefixAnySequence 4071 4064 -0.2% 1.00x
PrefixAnySequenceLazy 4080 4067 -0.3% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1326 1326 +0.0% 1.00x
PrefixSequenceLazy 1413 1414 +0.1% 1.00x (?)
PrefixWhileAnyCollection 172 172 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 108 108 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9417 9433 +0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRange 164 164 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 108 108 +0.0% 1.00x
PrefixWhileAnySequence 10555 10555 +0.0% 1.00x
PrefixWhileAnySequenceLazy 1393 1398 +0.4% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 53 53 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 381 383 +0.5% 0.99x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 759 758 -0.1% 1.00x (?)
PrimsSplit 766 757 -1.2% 1.01x (?)
QueueConcrete 1311 1312 +0.1% 1.00x (?)
QueueGeneric 1161 1162 +0.1% 1.00x
RC4 171 171 +0.0% 1.00x
RGBHistogram 2195 2184 -0.5% 1.01x
RGBHistogramOfObjects 23612 23627 +0.1% 1.00x (?)
RangeAssignment 350 352 +0.6% 0.99x (?)
RangeIterationSigned 200 200 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 987 976 -1.1% 1.01x (?)
RecursiveOwnedParameter 2325 2323 -0.1% 1.00x
RemoveWhereFilterInts 43 43 +0.0% 1.00x
RemoveWhereFilterString 300 301 +0.3% 1.00x
RemoveWhereFilterStrings 433 432 -0.2% 1.00x
RemoveWhereMoveInts 17 17 +0.0% 1.00x
RemoveWhereMoveStrings 520 520 +0.0% 1.00x
RemoveWhereQuadraticInts 1288 1290 +0.2% 1.00x
RemoveWhereQuadraticString 201 203 +1.0% 0.99x (?)
RemoveWhereQuadraticStrings 2757 2758 +0.0% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 849 849 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 17288 17307 +0.1% 1.00x (?)
ReversedDictionary 133 133 +0.0% 1.00x
RomanNumbers 111104 112404 +1.2% 0.99x
SequenceAlgosAnySequence 10319 10476 +1.5% 0.99x (?)
SequenceAlgosArray 1580 1581 +0.1% 1.00x (?)
SequenceAlgosContiguousArray 1581 1579 -0.1% 1.00x (?)
SequenceAlgosList 1355 1356 +0.1% 1.00x (?)
SequenceAlgosRange 4300 4294 -0.1% 1.00x (?)
SequenceAlgosUnfoldSequence 1080 1080 +0.0% 1.00x
SetExclusiveOr 3451 3439 -0.3% 1.00x (?)
SetExclusiveOr_OfObjects 8908 8763 -1.6% 1.02x
SetIntersect 319 319 +0.0% 1.00x
SetIntersect_OfObjects 1761 1762 +0.1% 1.00x (?)
SetIsSubsetOf 299 298 -0.3% 1.00x
SetIsSubsetOf_OfObjects 363 363 +0.0% 1.00x
SetUnion 3144 3158 +0.4% 1.00x (?)
SetUnion_OfObjects 7321 7216 -1.4% 1.01x
SevenBoom 1535 1530 -0.3% 1.00x (?)
Sim2DArray 599 599 +0.0% 1.00x
SortLargeExistentials 6679 6688 +0.1% 1.00x
SortLettersInPlace 1123 1123 +0.0% 1.00x
SortSortedStrings 1009 1010 +0.1% 1.00x (?)
SortStrings 1803 1801 -0.1% 1.00x (?)
SortStringsUnicode 2505 2524 +0.8% 0.99x
StackPromo 22999 22203 -3.5% 1.04x
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1560 1561 +0.1% 1.00x
StrToInt 2102 2109 +0.3% 1.00x
StringAdder 4196 4182 -0.3% 1.00x (?)
StringBuilder 1358 1351 -0.5% 1.01x
StringComparison_abnormal 740 743 +0.4% 1.00x (?)
StringComparison_ascii 991 991 +0.0% 1.00x
StringComparison_emoji 812 818 +0.7% 0.99x
StringComparison_fastPrenormal 718 735 +2.4% 0.98x
StringComparison_latin1 545 555 +1.8% 0.98x
StringComparison_longSharedPrefix 899 904 +0.6% 0.99x
StringComparison_nonBMPSlowestPrenormal 1605 1619 +0.9% 0.99x (?)
StringComparison_slowerPrenormal 1694 1705 +0.6% 0.99x (?)
StringComparison_zalgo 113693 113949 +0.2% 1.00x (?)
StringEdits 119996 121966 +1.6% 0.98x (?)
StringEnumRawValueInitialization 953 982 +3.0% 0.97x
StringEqualPointerComparison 315 314 -0.3% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1317 1321 +0.3% 1.00x
StringHasPrefixUnicode 27905 27807 -0.4% 1.00x (?)
StringHasSuffixAscii 1432 1432 +0.0% 1.00x
StringHasSuffixUnicode 84858 84839 -0.0% 1.00x (?)
StringInterpolation 10696 10733 +0.3% 1.00x (?)
StringMatch 8114 8069 -0.6% 1.01x
StringRemoveDupes 1199 1203 +0.3% 1.00x (?)
StringUTF16Builder 2349 2378 +1.2% 0.99x (?)
StringWalk 1466 1456 -0.7% 1.01x (?)
StringWithCString 43065 42889 -0.4% 1.00x
StringWordBuilder 1718 1710 -0.5% 1.00x (?)
StringWordBuilderReservingCapacity 1269 1273 +0.3% 1.00x
SubstringComparable 41 41 +0.0% 1.00x
SubstringEqualString 536 537 +0.2% 1.00x (?)
SubstringEquatable 1373 1376 +0.2% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 43 43 +0.0% 1.00x
SuffixAnyCollectionLazy 22615 22491 -0.5% 1.01x (?)
SuffixAnySeqCRangeIter 4001 4011 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3994 3992 -0.1% 1.00x (?)
SuffixAnySeqCntRange 35 35 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 35 35 +0.0% 1.00x
SuffixAnySequence 5175 5143 -0.6% 1.01x (?)
SuffixAnySequenceLazy 5280 5288 +0.2% 1.00x
SuffixCountableRange 12 12 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3964 3979 +0.4% 1.00x
SuffixSequenceLazy 3969 3969 +0.0% 1.00x
SumUsingReduce 98 97 -1.0% 1.01x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 42192 41667 -1.2% 1.01x (?)
TwoSum 990 993 +0.3% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 316 316 +0.0% 1.00x
Walsh 428 429 +0.2% 1.00x
WordCountHistogramASCII 7378 7283 -1.3% 1.01x
WordCountHistogramUTF16 24402 23844 -2.3% 1.02x (?)
WordCountUniqueASCII 1781 1805 +1.3% 0.99x (?)
WordSplitASCII 22162 22137 -0.1% 1.00x (?)
WordSplitUTF16 23698 23712 +0.1% 1.00x (?)
XorLoop 395 396 +0.3% 1.00x (?)

Unoptimized (Onone)

Regression (13)
TEST OLD NEW DELTA SPEEDUP
WordCountUniqueUTF16 27793 30645 +10.3% 0.91x (?)
CharIteration_chinese_unicodeScalars_Backwards 226971 250046 +10.2% 0.91x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 85703 93354 +8.9% 0.92x (?)
EqualStringSubstring 90 98 +8.9% 0.92x
CharIndexing_russian_unicodeScalars_Backwards 323972 351607 +8.5% 0.92x
ArrayPlusEqualSingleElementCollection 246856 266831 +8.1% 0.93x
DictionaryLiteral 8758 9440 +7.8% 0.93x
Chars 40351 42988 +6.5% 0.94x (?)
ObjectiveCBridgeFromNSStringForced 2785 2964 +6.4% 0.94x (?)
PrefixAnyCollectionLazy 97334 103434 +6.3% 0.94x (?)
ObjectiveCBridgeStubDataAppend 4292 4558 +6.2% 0.94x
DropLastAnyCollectionLazy 33849 35900 +6.1% 0.94x
StringInterpolation 13428 14144 +5.3% 0.95x (?)
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_korean_unicodeScalars 389942 348274 -10.7% 1.12x
ArrayOfPOD 847 757 -10.6% 1.12x
CharIndexing_chinese_unicodeScalars_Backwards 321995 292763 -9.1% 1.10x (?)
NSDictionaryCastToSwift 7775 7077 -9.0% 1.10x (?)
CharIndexing_tweet_unicodeScalars_Backwards 845464 772799 -8.6% 1.09x (?)
CharIndexing_chinese_unicodeScalars 297961 273663 -8.2% 1.09x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 40705 38040 -6.5% 1.07x (?)
EqualSubstringString 97 92 -5.2% 1.05x (?)
ArrayOfGenericPOD2 1129 1072 -5.0% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars 29582 28105 -5.0% 1.05x
No Changes (355)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5199 5211 +0.2% 1.00x (?)
AnyHashableWithAClass 88825 88324 -0.6% 1.01x
Array2D 638375 637973 -0.1% 1.00x (?)
ArrayAppend 4676 4665 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 868 867 -0.1% 1.00x (?)
ArrayAppendAscii 40219 40475 +0.6% 0.99x
ArrayAppendFromGeneric 877 858 -2.2% 1.02x (?)
ArrayAppendGenericStructs 1501 1495 -0.4% 1.00x (?)
ArrayAppendLatin1 63544 63986 +0.7% 0.99x (?)
ArrayAppendLazyMap 170983 170221 -0.4% 1.00x
ArrayAppendOptionals 1508 1512 +0.3% 1.00x (?)
ArrayAppendRepeatCol 175110 176334 +0.7% 0.99x
ArrayAppendReserved 4398 4395 -0.1% 1.00x (?)
ArrayAppendSequence 146892 145900 -0.7% 1.01x
ArrayAppendStrings 15386 15379 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 866 870 +0.5% 1.00x (?)
ArrayAppendToGeneric 876 877 +0.1% 1.00x (?)
ArrayAppendUTF16 63185 63817 +1.0% 0.99x
ArrayInClass 6239 6245 +0.1% 1.00x (?)
ArrayLiteral 1794 1795 +0.1% 1.00x (?)
ArrayOfGenericRef 10243 10350 +1.0% 0.99x (?)
ArrayOfRef 9434 9426 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 869 871 +0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 252087 256762 +1.9% 0.98x
ArrayPlusEqualThreeElements 9543 9584 +0.4% 1.00x (?)
ArraySubscript 114837 115447 +0.5% 0.99x
ArrayValueProp 3653 3654 +0.0% 1.00x (?)
ArrayValueProp2 16476 16688 +1.3% 0.99x (?)
ArrayValueProp3 4158 4167 +0.2% 1.00x (?)
ArrayValueProp4 4122 4138 +0.4% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 5916 6021 +1.8% 0.98x (?)
BitCount 7705 7711 +0.1% 1.00x (?)
ByteSwap 9130 9150 +0.2% 1.00x
COWTree 12037 11909 -1.1% 1.01x (?)
CSVParsing 2622067 2604920 -0.7% 1.01x (?)
CSVParsingAlt 1332873 1315901 -1.3% 1.01x (?)
CSVParsingAltIndices 2432920 2396146 -1.5% 1.02x (?)
CStringLongAscii 4601 4758 +3.4% 0.97x
CStringLongNonAscii 2188 2100 -4.0% 1.04x
CStringShortAscii 7604 7674 +0.9% 0.99x (?)
Calculator 1437 1484 +3.3% 0.97x
CaptureProp 260034 257977 -0.8% 1.01x (?)
CharIndexing_ascii_unicodeScalars 362565 359138 -0.9% 1.01x (?)
CharIndexing_ascii_unicodeScalars_Backwards 390584 386250 -1.1% 1.01x (?)
CharIndexing_japanese_unicodeScalars 433762 429404 -1.0% 1.01x (?)
CharIndexing_japanese_unicodeScalars_Backwards 464520 464061 -0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 389925 371845 -4.6% 1.05x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 64356 63381 -1.5% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 67703 66463 -1.8% 1.02x (?)
CharIndexing_punctuated_unicodeScalars 79979 78976 -1.3% 1.01x (?)
CharIndexing_russian_unicodeScalars 300584 299530 -0.4% 1.00x (?)
CharIndexing_tweet_unicodeScalars 715814 705089 -1.5% 1.02x (?)
CharIndexing_utf16_unicodeScalars 307566 303258 -1.4% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 338298 336902 -0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars 162111 161768 -0.2% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 306132 307379 +0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars 118089 117666 -0.4% 1.00x
CharIteration_japanese_unicodeScalars 186834 185824 -0.5% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 361616 363007 +0.4% 1.00x (?)
CharIteration_korean_unicodeScalars 157770 156203 -1.0% 1.01x
CharIteration_korean_unicodeScalars_Backwards 290698 297582 +2.4% 0.98x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 52370 52984 +1.2% 0.99x (?)
CharIteration_punctuated_unicodeScalars 36526 36439 -0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 66644 67360 +1.1% 0.99x (?)
CharIteration_russian_unicodeScalars 135044 134829 -0.2% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 246903 256233 +3.8% 0.96x (?)
CharIteration_tweet_unicodeScalars 308003 306101 -0.6% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 597138 595270 -0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars 131089 131846 +0.6% 0.99x (?)
CharIteration_utf16_unicodeScalars_Backwards 263462 254903 -3.2% 1.03x (?)
CharacterLiteralsLarge 5936 5927 -0.2% 1.00x (?)
CharacterLiteralsSmall 640 664 +3.7% 0.96x
CharacterPropertiesFetch 5640 5564 -1.3% 1.01x (?)
CharacterPropertiesPrecomputed 4498 4466 -0.7% 1.01x (?)
CharacterPropertiesStashed 2336 2325 -0.5% 1.00x (?)
CharacterPropertiesStashedMemo 5177 5109 -1.3% 1.01x (?)
ClassArrayGetter 994 984 -1.0% 1.01x
Combos 2192 2129 -2.9% 1.03x (?)
DictOfArraysToArrayOfDicts 3417 3479 +1.8% 0.98x (?)
Dictionary 2643 2627 -0.6% 1.01x (?)
Dictionary2 3060 2991 -2.3% 1.02x (?)
Dictionary2OfObjects 5871 5866 -0.1% 1.00x (?)
Dictionary3 1364 1369 +0.4% 1.00x (?)
Dictionary3OfObjects 2310 2288 -1.0% 1.01x (?)
Dictionary4 1209 1206 -0.2% 1.00x (?)
Dictionary4OfObjects 1858 1858 +0.0% 1.00x
DictionaryBridge 2225 2152 -3.3% 1.03x (?)
DictionaryGroup 4443 4434 -0.2% 1.00x (?)
DictionaryGroupOfObjects 7532 7450 -1.1% 1.01x (?)
DictionaryOfObjects 6214 6486 +4.4% 0.96x (?)
DictionaryRemove 18589 18626 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 51429 50921 -1.0% 1.01x (?)
DictionarySubscriptDefaultMutation 2175 2181 +0.3% 1.00x
DictionarySubscriptDefaultMutationArray 2415 2424 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9358 9349 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5671 5754 +1.5% 0.99x (?)
DictionarySwap 5369 5430 +1.1% 0.99x
DictionarySwapOfObjects 22366 22720 +1.6% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13593 13737 +1.1% 0.99x
DropFirstAnyCollectionLazy 97909 100009 +2.1% 0.98x (?)
DropFirstAnySeqCRangeIter 20496 20738 +1.2% 0.99x
DropFirstAnySeqCRangeIterLazy 20465 20795 +1.6% 0.98x
DropFirstAnySeqCntRange 13537 13707 +1.3% 0.99x
DropFirstAnySeqCntRangeLazy 13586 13637 +0.4% 1.00x
DropFirstAnySequence 10940 11090 +1.4% 0.99x
DropFirstAnySequenceLazy 10962 11084 +1.1% 0.99x
DropFirstArray 3876 3900 +0.6% 0.99x
DropFirstArrayLazy 28467 27447 -3.6% 1.04x
DropFirstCountableRange 324 324 +0.0% 1.00x
DropFirstCountableRangeLazy 27102 27142 +0.1% 1.00x
DropFirstSequence 10611 10780 +1.6% 0.98x
DropFirstSequenceLazy 10594 10791 +1.9% 0.98x
DropLastAnyCollection 4570 4590 +0.4% 1.00x (?)
DropLastAnySeqCRangeIter 40596 40585 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 40527 40541 +0.0% 1.00x (?)
DropLastAnySeqCntRange 4557 4613 +1.2% 0.99x
DropLastAnySeqCntRangeLazy 4528 4570 +0.9% 0.99x (?)
DropLastAnySequence 29311 29187 -0.4% 1.00x
DropLastAnySequenceLazy 29850 29664 -0.6% 1.01x
DropLastCountableRange 111 112 +0.9% 0.99x
DropLastCountableRangeLazy 9124 9160 +0.4% 1.00x
DropLastSequence 29405 29179 -0.8% 1.01x (?)
DropLastSequenceLazy 29498 29264 -0.8% 1.01x
DropWhileAnyCollection 17174 17374 +1.2% 0.99x
DropWhileAnyCollectionLazy 18966 19227 +1.4% 0.99x
DropWhileAnySeqCRangeIter 21978 22303 +1.5% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 19260 19610 +1.8% 0.98x
DropWhileAnySeqCntRange 17203 17354 +0.9% 0.99x
DropWhileAnySeqCntRangeLazy 19024 19155 +0.7% 0.99x
DropWhileAnySequence 12242 12382 +1.1% 0.99x
DropWhileAnySequenceLazy 10347 10592 +2.4% 0.98x
DropWhileArrayLazy 13789 13818 +0.2% 1.00x
DropWhileCountableRange 3951 4004 +1.3% 0.99x
DropWhileCountableRangeLazy 18691 18803 +0.6% 0.99x (?)
DropWhileSequence 12023 12210 +1.6% 0.98x
DropWhileSequenceLazy 10680 10768 +0.8% 0.99x
EqualSubstringSubstring 92 92 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 98 98 +0.0% 1.00x
ErrorHandling 7219 7253 +0.5% 1.00x (?)
ExclusivityGlobal 191 192 +0.5% 0.99x
ExclusivityIndependent 71 71 +0.0% 1.00x
FilterEvenUsingReduce 3638 3660 +0.6% 0.99x (?)
FilterEvenUsingReduceInto 1925 1939 +0.7% 0.99x (?)
FrequenciesUsingReduce 10502 11036 +5.1% 0.95x
FrequenciesUsingReduceInto 5455 5295 -2.9% 1.03x (?)
Hanoi 20169 19916 -1.3% 1.01x
HashTest 21934 22217 +1.3% 0.99x (?)
Histogram 6629 6635 +0.1% 1.00x (?)
Integrate 831 832 +0.1% 1.00x
IterateData 5825 6045 +3.8% 0.96x
Join 1201 1200 -0.1% 1.00x (?)
LazilyFilteredArrayContains 776552 780288 +0.5% 1.00x
LazilyFilteredArrays 1465055 1456164 -0.6% 1.01x (?)
LazilyFilteredRange 472468 482319 +2.1% 0.98x (?)
LessSubstringSubstring 92 93 +1.1% 0.99x
LessSubstringSubstringGenericComparable 96 97 +1.0% 0.99x
LinkedList 32193 32259 +0.2% 1.00x
LuhnAlgoEager 4810 4760 -1.0% 1.01x (?)
LuhnAlgoLazy 4866 4735 -2.7% 1.03x (?)
MapReduce 25561 25531 -0.1% 1.00x (?)
MapReduceAnyCollection 25507 25551 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 36195 36833 +1.8% 0.98x (?)
MapReduceClass 30008 30055 +0.2% 1.00x (?)
MapReduceClassShort 40714 41622 +2.2% 0.98x (?)
MapReduceLazyCollection 22468 22451 -0.1% 1.00x (?)
MapReduceLazyCollectionShort 33562 33885 +1.0% 0.99x (?)
MapReduceLazySequence 17920 18176 +1.4% 0.99x
MapReduceSequence 29359 29447 +0.3% 1.00x
MapReduceShort 36237 36997 +2.1% 0.98x
MapReduceShortString 224 228 +1.8% 0.98x (?)
MapReduceString 1789 1800 +0.6% 0.99x (?)
Memset 44745 44760 +0.0% 1.00x (?)
MonteCarloE 1231337 1237215 +0.5% 1.00x (?)
MonteCarloPi 5574193 5592120 +0.3% 1.00x
NSError 733 746 +1.8% 0.98x (?)
NSStringConversion 335 349 +4.2% 0.96x
NibbleSort 413558 420996 +1.8% 0.98x
NopDeinit 170682 170817 +0.1% 1.00x (?)
ObjectAllocation 1380 1397 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24466 23787 -2.8% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8617 8897 +3.2% 0.97x
ObjectiveCBridgeFromNSArrayAnyObjectToString 42131 41136 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 129680 126354 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 64550 64293 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6699 6381 -4.7% 1.05x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76881 80294 +4.4% 0.96x (?)
ObjectiveCBridgeFromNSString 3163 3247 +2.7% 0.97x (?)
ObjectiveCBridgeStubDateMutation 630 630 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29093 28066 -3.5% 1.04x (?)
ObjectiveCBridgeStubFromNSDate 4828 4839 +0.2% 1.00x
ObjectiveCBridgeStubFromNSString 899 916 +1.9% 0.98x
ObjectiveCBridgeStubFromNSStringRef 196 196 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2932 3001 +2.4% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 16641 16058 -3.5% 1.04x (?)
ObjectiveCBridgeStubToArrayOfNSString 28964 28986 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDate 16455 16550 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3431 3483 +1.5% 0.99x (?)
ObjectiveCBridgeStubToNSString 1582 1582 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 153 153 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 336376 345483 +2.7% 0.97x (?)
ObjectiveCBridgeStubURLAppendPathRef 355446 348336 -2.0% 1.02x (?)
ObjectiveCBridgeToNSArray 30123 30094 -0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 51632 53658 +3.9% 0.96x (?)
ObjectiveCBridgeToNSSet 43522 43624 +0.2% 1.00x (?)
ObjectiveCBridgeToNSString 1358 1362 +0.3% 1.00x (?)
ObserverClosure 6384 6391 +0.1% 1.00x (?)
ObserverForwarderStruct 4519 4506 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 7980 7990 +0.1% 1.00x (?)
ObserverUnappliedMethod 8084 8080 -0.0% 1.00x (?)
OpenClose 530 537 +1.3% 0.99x
PartialApplyDynamicType 42102 42448 +0.8% 0.99x (?)
Phonebook 20098 19839 -1.3% 1.01x
PointerArithmetics 117508 123174 +4.8% 0.95x
PolymorphicCalls 6407 6543 +2.1% 0.98x
PopFrontArray 4688 4675 -0.3% 1.00x (?)
PopFrontArrayGeneric 5921 5827 -1.6% 1.02x
PopFrontUnsafePointer 11277 11281 +0.0% 1.00x (?)
PrefixAnyCollection 13632 13794 +1.2% 0.99x
PrefixAnySeqCRangeIter 16579 16812 +1.4% 0.99x (?)
PrefixAnySeqCRangeIterLazy 16538 16774 +1.4% 0.99x
PrefixAnySeqCntRange 13554 13726 +1.3% 0.99x
PrefixAnySeqCntRangeLazy 13534 13607 +0.5% 0.99x
PrefixAnySequence 9148 9294 +1.6% 0.98x (?)
PrefixAnySequenceLazy 9144 9224 +0.9% 0.99x
PrefixArray 3900 3892 -0.2% 1.00x
PrefixArrayLazy 28547 27496 -3.7% 1.04x
PrefixCountableRange 325 326 +0.3% 1.00x
PrefixCountableRangeLazy 26905 27111 +0.8% 0.99x
PrefixSequence 8854 9042 +2.1% 0.98x
PrefixSequenceLazy 8857 8970 +1.3% 0.99x
PrefixWhileAnyCollection 24417 24675 +1.1% 0.99x (?)
PrefixWhileAnyCollectionLazy 15755 15942 +1.2% 0.99x (?)
PrefixWhileAnySeqCRangeIter 34765 34265 -1.4% 1.01x
PrefixWhileAnySeqCRangeIterLazy 15851 15937 +0.5% 0.99x (?)
PrefixWhileAnySeqCntRange 24371 24721 +1.4% 0.99x
PrefixWhileAnySeqCntRangeLazy 15756 16020 +1.7% 0.98x
PrefixWhileAnySequence 26551 26306 -0.9% 1.01x
PrefixWhileAnySequenceLazy 9348 9438 +1.0% 0.99x
PrefixWhileArray 10745 10804 +0.5% 0.99x
PrefixWhileArrayLazy 12036 12110 +0.6% 0.99x (?)
PrefixWhileCountableRange 11165 11252 +0.8% 0.99x
PrefixWhileCountableRangeLazy 15751 15879 +0.8% 0.99x
PrefixWhileSequence 26007 25889 -0.5% 1.00x
PrefixWhileSequenceLazy 9081 9173 +1.0% 0.99x
Prims 9724 9810 +0.9% 0.99x (?)
PrimsSplit 9708 9825 +1.2% 0.99x (?)
QueueConcrete 16390 16385 -0.0% 1.00x (?)
QueueGeneric 20862 20905 +0.2% 1.00x (?)
RC4 16904 16809 -0.6% 1.01x
RGBHistogram 26176 26107 -0.3% 1.00x (?)
RGBHistogramOfObjects 98637 95988 -2.7% 1.03x (?)
RangeAssignment 2227 2253 +1.2% 0.99x (?)
RangeIterationSigned 16527 16844 +1.9% 0.98x (?)
RangeIterationSigned64 38976 39559 +1.5% 0.99x (?)
RangeIterationUnsigned 34426 35063 +1.9% 0.98x (?)
RangeReplaceableCollectionPlusDefault 7843 8022 +2.3% 0.98x (?)
RecursiveOwnedParameter 7995 8064 +0.9% 0.99x (?)
RemoveWhereFilterInts 2059 2058 -0.0% 1.00x (?)
RemoveWhereFilterString 1475 1468 -0.5% 1.00x
RemoveWhereFilterStrings 3097 3104 +0.2% 1.00x (?)
RemoveWhereMoveInts 3339 3344 +0.1% 1.00x (?)
RemoveWhereMoveStrings 4495 4494 -0.0% 1.00x (?)
RemoveWhereQuadraticInts 7683 7704 +0.3% 1.00x (?)
RemoveWhereQuadraticString 2310 2308 -0.1% 1.00x (?)
RemoveWhereQuadraticStrings 9521 9527 +0.1% 1.00x (?)
RemoveWhereSwapInts 5981 5985 +0.1% 1.00x (?)
RemoveWhereSwapStrings 7653 7652 -0.0% 1.00x (?)
ReversedArray 13347 13285 -0.5% 1.00x (?)
ReversedBidirectional 42848 42940 +0.2% 1.00x (?)
ReversedDictionary 23303 23299 -0.0% 1.00x (?)
RomanNumbers 1262788 1225633 -2.9% 1.03x
SequenceAlgosAnySequence 11157 11299 +1.3% 0.99x (?)
SequenceAlgosArray 777564 778272 +0.1% 1.00x (?)
SequenceAlgosContiguousArray 324954 320890 -1.3% 1.01x
SequenceAlgosList 8298 8275 -0.3% 1.00x
SequenceAlgosRange 1088607 1100999 +1.1% 0.99x
SequenceAlgosUnfoldSequence 5870 5885 +0.3% 1.00x (?)
SetExclusiveOr 17493 17563 +0.4% 1.00x
SetExclusiveOr_OfObjects 42128 42192 +0.2% 1.00x (?)
SetIntersect 8451 8530 +0.9% 0.99x
SetIntersect_OfObjects 12332 12374 +0.3% 1.00x
SetIsSubsetOf 1382 1379 -0.2% 1.00x (?)
SetIsSubsetOf_OfObjects 1585 1588 +0.2% 1.00x (?)
SetUnion 12055 12128 +0.6% 0.99x
SetUnion_OfObjects 29476 29559 +0.3% 1.00x (?)
SevenBoom 1666 1667 +0.1% 1.00x (?)
Sim2DArray 46752 46760 +0.0% 1.00x (?)
SortLargeExistentials 15491 15486 -0.0% 1.00x (?)
SortLettersInPlace 2670 2669 -0.0% 1.00x (?)
SortSortedStrings 1032 1022 -1.0% 1.01x
SortStrings 2028 2023 -0.2% 1.00x
SortStringsUnicode 2793 2696 -3.5% 1.04x
StackPromo 93043 94912 +2.0% 0.98x (?)
StaticArray 2657 2688 +1.2% 0.99x (?)
StrComplexWalk 6660 6446 -3.2% 1.03x
StrToInt 57264 57602 +0.6% 0.99x (?)
StringAdder 4707 4698 -0.2% 1.00x (?)
StringBuilder 6939 6953 +0.2% 1.00x (?)
StringBuilderLong 2717 2691 -1.0% 1.01x (?)
StringComparison_abnormal 1325 1339 +1.1% 0.99x (?)
StringComparison_ascii 9886 9897 +0.1% 1.00x (?)
StringComparison_emoji 2090 2105 +0.7% 0.99x
StringComparison_fastPrenormal 5353 5349 -0.1% 1.00x (?)
StringComparison_latin1 4158 4164 +0.1% 1.00x
StringComparison_longSharedPrefix 2483 2471 -0.5% 1.00x
StringComparison_nonBMPSlowestPrenormal 3949 3946 -0.1% 1.00x (?)
StringComparison_slowerPrenormal 4322 4333 +0.3% 1.00x (?)
StringComparison_zalgo 115530 115692 +0.1% 1.00x (?)
StringEdits 347438 331173 -4.7% 1.05x (?)
StringEnumRawValueInitialization 17998 17450 -3.0% 1.03x
StringEqualPointerComparison 3323 3462 +4.2% 0.96x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 199 201 +1.0% 0.99x
StringHasPrefixAscii 2984 2901 -2.8% 1.03x
StringHasPrefixUnicode 29235 29101 -0.5% 1.00x (?)
StringHasSuffixAscii 3094 3112 +0.6% 0.99x
StringHasSuffixUnicode 86429 86332 -0.1% 1.00x (?)
StringMatch 35280 35250 -0.1% 1.00x (?)
StringRemoveDupes 1392 1401 +0.6% 0.99x
StringUTF16Builder 7909 7684 -2.8% 1.03x (?)
StringWalk 13134 12768 -2.8% 1.03x
StringWithCString 37671 39632 +5.2% 0.95x
StringWordBuilder 2503 2532 +1.2% 0.99x
StringWordBuilderReservingCapacity 2169 2186 +0.8% 0.99x
SubstringComparable 2077 2077 +0.0% 1.00x
SubstringEqualString 1920 1936 +0.8% 0.99x (?)
SubstringEquatable 6062 6039 -0.4% 1.00x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 108 109 +0.9% 0.99x
SuffixAnyCollection 4546 4595 +1.1% 0.99x
SuffixAnyCollectionLazy 33894 33342 -1.6% 1.02x (?)
SuffixAnySeqCRangeIter 34371 34288 -0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 34602 34890 +0.8% 0.99x
SuffixAnySeqCntRange 4541 4608 +1.5% 0.99x
SuffixAnySeqCntRangeLazy 4535 4595 +1.3% 0.99x
SuffixAnySequence 25301 25415 +0.5% 1.00x (?)
SuffixAnySequenceLazy 25516 25502 -0.1% 1.00x (?)
SuffixCountableRange 111 111 +0.0% 1.00x
SuffixCountableRangeLazy 9121 9156 +0.4% 1.00x (?)
SuffixSequence 25386 25681 +1.2% 0.99x (?)
SuffixSequenceLazy 25429 25425 -0.0% 1.00x (?)
SumUsingReduce 165794 165058 -0.4% 1.00x
SumUsingReduceInto 160547 160652 +0.1% 1.00x (?)
SuperChars 128012 127620 -0.3% 1.00x (?)
TwoSum 4070 4063 -0.2% 1.00x (?)
TypeFlood 152 150 -1.3% 1.01x (?)
UTF8Decode 30098 30109 +0.0% 1.00x (?)
Walsh 12087 12084 -0.0% 1.00x (?)
WordCountHistogramASCII 47203 47442 +0.5% 0.99x (?)
WordCountHistogramUTF16 71450 72384 +1.3% 0.99x (?)
WordCountUniqueASCII 8682 8748 +0.8% 0.99x
WordSplitASCII 25984 26115 +0.5% 0.99x
WordSplitUTF16 26847 27211 +1.4% 0.99x (?)
XorLoop 23387 23376 -0.0% 1.00x (?)
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

@@ -2381,6 +2381,11 @@ extension ${Self} {
%end

#if _runtime(_ObjC)
@_versioned internal
Copy link
Member

Choose a reason for hiding this comment

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

Please add a comment describing why this is here. Otherwise, someone will just delete it

@lancep
Copy link
Contributor Author

lancep commented Feb 27, 2018

@swift-ci please smoke test

Copy link
Member

@airspeedswift airspeedswift left a comment

Choose a reason for hiding this comment

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

with that comment, lgtm.

@lancep lancep merged commit 3214627 into swiftlang:master Feb 27, 2018
@lancep lancep deleted the array-bridge-isolation branch February 27, 2018 21:47
@milseman
Copy link
Member

Did you have an eager bridging PR? We could check in something that conditionally enables it based on build parameters.

@lancep
Copy link
Contributor Author

lancep commented Feb 28, 2018

I do, but it'll need to be substantially changed if we were to do that.

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.

4 participants