Skip to content

[stdlib] Eliminate (Closed)CountableRange using conditional conformance #13342

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 12 commits into from
Feb 2, 2018

Conversation

airspeedswift
Copy link
Member

@airspeedswift airspeedswift commented Dec 8, 2017

Based on groundwork by @natecook1000

Not yet ready for commit until we figure out the source compatibility/migration story.

Tests are mostly fixed up, except for things like hard-coded mangled name tests.

Range and ClosedRange have custom iterator types now to work around some issues that seem to be related to conditional conformance, but might also bring some perf wins.

_precondition(!other.isEmpty, "Can't form an empty closed range")
let upperBound = other.upperBound.advanced(by: -1)
% else:
let upperBound = other.upperBound
Copy link
Contributor

Choose a reason for hiding this comment

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

Don't we still need this logic for the same-type initialisers (i.e Range's init(_: Range) & ClosedRange's init(_: ClosedRange))? Otherwise we'd be decrementing the upper bound in those cases. Or is the plan to get rid of the same-type initialisers?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah, this looks like a meta programming fail on my part. I'm going to de-gyb the whole thing in the next push.

There's no reason to do a Range.init from a Range, in fact. It should just be a deprecation warning (for people who were using it to convert the now-typealiased CountableRange into a Range).

@airspeedswift airspeedswift changed the title [stdlib] Eliminate (Closed)CountableRange using conditional conformance [stdlib][WIP] Eliminate (Closed)CountableRange using conditional conformance Dec 10, 2017
@airspeedswift airspeedswift force-pushed the nc-ranges branch 5 times, most recently from 4109687 to a6dc094 Compare December 11, 2017 05:02
@swift-ci
Copy link
Contributor

Build comment file:

Summary for master full

Unexpected test results, stats may be off for Dollar, CoreStore, Kronos, GRDB, RxDataSources, vapor

Regressions found (see below)

Debug

debug brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 852,453,596 853,595,286 1,141,690 0.13%
time.swift-driver.wall 1190.2s 1192.5s 2.3s 0.19%

debug detailed

Regressed (1)
name old new delta delta_pct
Sema.NumConformancesDeserialized 5,156,717 5,229,337 72,620 1.41% ⛔
Improved (3)
name old new delta delta_pct
Sema.NumConstraintScopes 12,026,390 11,573,192 -453,198 -3.77% ✅
Sema.NumLazyGenericEnvironments 8,600,325 8,508,571 -91,754 -1.07% ✅
Sema.NumLazyIterableDeclContexts 6,488,074 6,395,561 -92,513 -1.43% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (19)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 1,424,654 1,425,496 842 0.06%
AST.NumLoadedModules 282,590 282,845 255 0.09%
AST.NumTotalClangImportedEntities 4,498,513 4,501,316 2,803 0.06%
AST.NumUsedConformances 128,105 128,106 1 0.0%
IRModule.NumIRBasicBlocks 2,662,206 2,668,282 6,076 0.23%
IRModule.NumIRFunctions 1,274,800 1,276,782 1,982 0.16%
IRModule.NumIRGlobals 1,215,356 1,216,163 807 0.07%
IRModule.NumIRInsts 27,540,086 27,584,469 44,383 0.16%
IRModule.NumIRValueSymbols 2,119,100 2,121,574 2,474 0.12%
LLVM.NumLLVMBytesOutput 852,453,596 853,595,286 1,141,690 0.13%
SILModule.NumSILGenFunctions 605,227 606,807 1,580 0.26%
SILModule.NumSILOptFunctions 1,192,618 1,196,123 3,505 0.29%
Sema.NumDeclsDeserialized 42,280,885 42,057,280 -223,605 -0.53%
Sema.NumDeclsValidated 1,727,588 1,728,193 605 0.04%
Sema.NumFunctionsTypechecked 851,990 852,435 445 0.05%
Sema.NumGenericSignatureBuilders 1,352,408 1,352,486 78 0.01%
Sema.NumLazyGenericEnvironmentsLoaded 761,301 760,788 -513 -0.07%
Sema.NumTypesDeserialized 44,224,495 43,894,551 -329,944 -0.75%
Sema.NumTypesValidated 3,969,792 3,969,818 26 0.0%

Debug-opt

debug-opt brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 818,537,968 820,296,769 1,758,801 0.21%
time.swift-driver.wall 2173.2s 2179.2s 6.0s 0.27%

debug-opt detailed

Regressed (1)
name old new delta delta_pct
Sema.NumConformancesDeserialized 9,650,178 10,240,678 590,500 6.12% ⛔
Improved (2)
name old new delta delta_pct
Sema.NumConstraintScopes 12,026,390 11,573,192 -453,198 -3.77% ✅
Sema.NumLazyIterableDeclContexts 6,725,145 6,649,953 -75,192 -1.12% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (20)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 1,424,654 1,425,496 842 0.06%
AST.NumLoadedModules 271,814 272,061 247 0.09%
AST.NumTotalClangImportedEntities 4,747,698 4,750,662 2,964 0.06%
AST.NumUsedConformances 128,105 128,106 1 0.0%
IRModule.NumIRBasicBlocks 2,458,692 2,470,945 12,253 0.5%
IRModule.NumIRFunctions 993,078 995,393 2,315 0.23%
IRModule.NumIRGlobals 1,083,364 1,084,272 908 0.08%
IRModule.NumIRInsts 20,690,892 20,734,272 43,380 0.21%
IRModule.NumIRValueSymbols 1,792,020 1,795,050 3,030 0.17%
LLVM.NumLLVMBytesOutput 818,537,968 820,296,769 1,758,801 0.21%
SILModule.NumSILGenFunctions 604,321 605,895 1,574 0.26%
SILModule.NumSILOptFunctions 1,692,033 1,692,364 331 0.02%
Sema.NumDeclsDeserialized 46,830,511 46,937,113 106,602 0.23%
Sema.NumDeclsValidated 1,727,588 1,728,193 605 0.04%
Sema.NumFunctionsTypechecked 851,990 852,435 445 0.05%
Sema.NumGenericSignatureBuilders 1,389,089 1,392,549 3,460 0.25%
Sema.NumLazyGenericEnvironments 9,432,226 9,393,747 -38,479 -0.41%
Sema.NumLazyGenericEnvironmentsLoaded 773,641 773,158 -483 -0.06%
Sema.NumTypesDeserialized 50,803,206 50,704,334 -98,872 -0.19%
Sema.NumTypesValidated 3,969,792 3,969,818 26 0.0%

Wmo-onone

wmo-onone brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 781,485,542 778,758,766 -2,726,776 -0.35%
time.swift-driver.wall 1163.3s 1160.9s -2.4s -0.21%

wmo-onone detailed

Regressed (1)
name old new delta delta_pct
Sema.NumConformancesDeserialized 1,112,946 1,132,154 19,208 1.73% ⛔
Improved (4)
name old new delta delta_pct
Sema.NumConstraintScopes 11,414,066 10,958,038 -456,028 -4.0% ✅
Sema.NumLazyGenericEnvironments 682,938 668,488 -14,450 -2.12% ✅
Sema.NumLazyIterableDeclContexts 421,781 408,408 -13,373 -3.17% ✅
Sema.NumTypesDeserialized 3,991,983 3,946,297 -45,686 -1.14% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (18)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 163,851 164,101 250 0.15%
AST.NumLoadedModules 9,283 9,315 32 0.34%
AST.NumTotalClangImportedEntities 537,468 538,519 1,051 0.2%
AST.NumUsedConformances 130,641 130,647 6 0.0%
IRModule.NumIRBasicBlocks 2,320,419 2,301,393 -19,026 -0.82%
IRModule.NumIRFunctions 1,135,439 1,126,613 -8,826 -0.78%
IRModule.NumIRGlobals 1,064,918 1,058,242 -6,676 -0.63%
IRModule.NumIRInsts 25,835,278 25,659,827 -175,451 -0.68%
IRModule.NumIRValueSymbols 1,897,572 1,883,799 -13,773 -0.73%
LLVM.NumLLVMBytesOutput 781,485,542 778,758,766 -2,726,776 -0.35%
SILModule.NumSILGenFunctions 426,393 423,680 -2,713 -0.64%
SILModule.NumSILOptFunctions 508,305 505,906 -2,399 -0.47%
Sema.NumDeclsDeserialized 3,875,974 3,848,021 -27,953 -0.72%
Sema.NumDeclsValidated 779,383 779,646 263 0.03%
Sema.NumFunctionsTypechecked 250,635 250,804 169 0.07%
Sema.NumGenericSignatureBuilders 131,432 131,405 -27 -0.02%
Sema.NumLazyGenericEnvironmentsLoaded 82,031 81,794 -237 -0.29%
Sema.NumTypesValidated 882,641 882,698 57 0.01%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 849,231,309 847,146,304 -2,085,005 -0.25%
time.swift-driver.wall 2525.6s 2511.6s -14.0s -0.55%

release detailed

Regressed (1)
name old new delta delta_pct
Sema.NumConformancesDeserialized 3,552,902 3,670,158 117,256 3.3% ⛔
Improved (2)
name old new delta delta_pct
Sema.NumConstraintScopes 11,710,318 11,251,302 -459,016 -3.92% ✅
Sema.NumLazyIterableDeclContexts 1,766,074 1,739,713 -26,361 -1.49% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (20)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 449,142 449,392 250 0.06%
AST.NumLoadedModules 56,869 56,900 31 0.05%
AST.NumTotalClangImportedEntities 1,522,084 1,523,268 1,184 0.08%
AST.NumUsedConformances 133,873 133,855 -18 -0.01%
IRModule.NumIRBasicBlocks 2,430,806 2,417,087 -13,719 -0.56%
IRModule.NumIRFunctions 1,014,768 1,008,553 -6,215 -0.61%
IRModule.NumIRGlobals 1,161,239 1,154,916 -6,323 -0.54%
IRModule.NumIRInsts 21,376,976 21,211,644 -165,332 -0.77%
IRModule.NumIRValueSymbols 1,876,611 1,865,856 -10,755 -0.57%
LLVM.NumLLVMBytesOutput 849,231,309 847,146,304 -2,085,005 -0.25%
SILModule.NumSILGenFunctions 464,164 461,468 -2,696 -0.58%
SILModule.NumSILOptFunctions 905,478 899,224 -6,254 -0.69%
Sema.NumDeclsDeserialized 12,855,188 12,847,325 -7,863 -0.06%
Sema.NumDeclsValidated 992,139 992,402 263 0.03%
Sema.NumFunctionsTypechecked 384,327 384,496 169 0.04%
Sema.NumGenericSignatureBuilders 443,597 444,129 532 0.12%
Sema.NumLazyGenericEnvironments 2,503,186 2,485,454 -17,732 -0.71%
Sema.NumLazyGenericEnvironmentsLoaded 229,755 229,421 -334 -0.15%
Sema.NumTypesDeserialized 14,394,661 14,318,399 -76,262 -0.53%
Sema.NumTypesValidated 1,857,832 1,857,805 -27 -0.0%

@airspeedswift airspeedswift force-pushed the nc-ranges branch 5 times, most recently from 80aa4e9 to 3801e3f Compare December 19, 2017 23:02
@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (148)
TEST OLD NEW DELTA SPEEDUP
ArrayLiteral 0 800 +80000000.0% 0.00x
ArrayValueProp3 8 1788 +22247.2% 0.00x
ArrayValueProp4 8 1787 +22234.7% 0.00x
OpenClose 5 805 +15996.8% 0.01x
ExclusivityGlobal 5 771 +15316.9% 0.01x
PrefixAnyCollection 34 3700 +10782.0% 0.01x
ArrayValueProp2 8 759 +9386.3% 0.01x
ArrayValueProp 8 758 +9373.8% 0.01x
BitCount 202 15201 +7425.2% 0.01x
DropLastAnyCollection 19 1256 +6510.2% 0.02x
ExclusivityIndependent 2 76 +3698.2% 0.03x
MapReduceLazyCollectionShort 34 815 +2297.0% 0.04x
NopDeinit 21572 399719 +1753.0% 0.05x
CaptureProp 7681 80042 +942.1% 0.10x
Calculator 41 409 +897.5% 0.10x
ByteSwap 100 871 +771.0% 0.11x
Array2D 2522 15344 +508.4% 0.16x
ArrayInClass 85 402 +372.9% 0.21x
SubstringFromLongString 10 46 +360.0% 0.22x
Memset 216 869 +302.3% 0.25x
DictionaryRemove 3052 11611 +280.4% 0.26x
Sim2DArray 410 1426 +247.8% 0.29x
MonteCarloE 10405 34915 +235.6% 0.30x
RC4 168 515 +206.5% 0.33x
NSStringConversion 403 1171 +190.6% 0.34x
DictionarySwap 484 1322 +173.1% 0.37x
Walsh 439 1165 +165.4% 0.38x
MonteCarloPi 42873 112189 +161.7% 0.38x
CharacterLiteralsSmall 511 1260 +146.6% 0.41x
PrefixWhileCountableRangeLazy 35 72 +105.7% 0.49x
DropFirstAnyCollection 34 66 +94.1% 0.52x
XorLoop 386 737 +90.9% 0.52x
PolymorphicCalls 25 46 +84.0% 0.54x
DictionaryLiteral 1599 2804 +75.4% 0.57x
SumUsingReduceInto 101 174 +72.3% 0.58x
SumUsingReduce 101 173 +71.3% 0.58x
SuffixCountableRange 12 20 +66.7% 0.60x
MapReduceLazyCollection 13 21 +61.5% 0.62x
MapReduceShort 1973 3178 +61.1% 0.62x
DropLastCountableRange 12 19 +58.3% 0.63x
MapReduceAnyCollectionShort 2005 3155 +57.4% 0.64x
DropFirstCountableRange 35 55 +57.1% 0.64x
PrefixCountableRange 35 55 +57.1% 0.64x
StringWalk 1544 2372 +53.6% 0.65x
ArrayOfRef 4236 6479 +53.0% 0.65x
AnyHashableWithAClass 70970 108539 +52.9% 0.65x
DropWhileCountableRange 36 55 +52.8% 0.65x
ArrayOfGenericRef 4263 6505 +52.6% 0.66x
MapReduceSequence 449 685 +52.6% 0.66x
StringFromLongWholeSubstringGeneric 72 109 +51.4% 0.66x
ArraySubscript 1494 2246 +50.3% 0.67x
MapReduceShortString 22 33 +50.0% 0.67x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3489 5144 +47.4% 0.68x
ClassArrayGetter 15 22 +46.7% 0.68x
NSError 311 456 +46.6% 0.68x
SubstringFromLongStringGeneric 71 102 +43.7% 0.70x
CharIndexing_punctuated_unicodeScalars_Backwards 4364 6267 +43.6% 0.70x
StringFromLongWholeSubstring 177 248 +40.1% 0.71x
StringBuilder 999 1388 +38.9% 0.72x
ArrayOfPOD 178 245 +37.6% 0.73x
StringBuilderLong 971 1330 +37.0% 0.73x
PopFrontArrayGeneric 1871 2532 +35.3% 0.74x
DictionaryRemoveOfObjects 22416 30220 +34.8% 0.74x
CharIndexing_punctuatedJapanese_unicodeScalars 3664 4932 +34.6% 0.74x
CharIteration_utf16_unicodeScalars_Backwards 70597 94834 +34.3% 0.74x
PopFrontArray 1868 2504 +34.0% 0.75x
CharIndexing_russian_unicodeScalars_Backwards 16075 21012 +30.7% 0.77x
NSDictionaryCastToSwift 5182 6766 +30.6% 0.77x
CharIndexing_chinese_unicodeScalars_Backwards 14701 19169 +30.4% 0.77x
CharIndexing_ascii_unicodeScalars_Backwards 19298 25096 +30.0% 0.77x
CharIndexing_korean_unicodeScalars_Backwards 18717 24340 +30.0% 0.77x
CharIndexing_punctuated_unicodeScalars 4599 5974 +29.9% 0.77x
CharIndexing_japanese_unicodeScalars_Backwards 23067 29884 +29.6% 0.77x
MapReduceClassShort 4462 5741 +28.7% 0.78x
RangeIterationUnsigned 200 257 +28.5% 0.78x
RangeAssignment 380 485 +27.6% 0.78x
CharIndexing_tweet_unicodeScalars_Backwards 38304 48753 +27.3% 0.79x
SevenBoom 1581 2007 +26.9% 0.79x
StringUTF16Builder 1853 2326 +25.5% 0.80x
AngryPhonebook 2885 3597 +24.7% 0.80x
CharIteration_punctuatedJapanese_unicodeScalars 3974 4892 +23.1% 0.81x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3705 4540 +22.5% 0.82x
MapReduceAnyCollection 458 559 +22.1% 0.82x
ArrayAppendAscii 22113 26865 +21.5% 0.82x
CharIndexing_utf16_unicodeScalars 68909 83162 +20.7% 0.83x
ErrorHandling 2030 2442 +20.3% 0.83x
StaticArray 5 6 +20.0% 0.83x
CharIndexing_chinese_unicodeScalars 15485 18495 +19.4% 0.84x
ArrayAppendLazyMap 1278 1522 +19.1% 0.84x
CharIteration_punctuated_unicodeScalars 4982 5926 +18.9% 0.84x
CharIndexing_russian_unicodeScalars 17024 20229 +18.8% 0.84x
CharIndexing_korean_unicodeScalars 19825 23516 +18.6% 0.84x
SuffixCountableRangeLazy 11 13 +18.2% 0.85x
CharIndexing_ascii_unicodeScalars 20446 24145 +18.1% 0.85x
CharIteration_punctuated_unicodeScalars_Backwards 4662 5495 +17.9% 0.85x
CharIndexing_japanese_unicodeScalars 24496 28817 +17.6% 0.85x
CStringLongAscii 5918 6930 +17.1% 0.85x
RangeIterationSigned 171 200 +17.0% 0.86x
CharIndexing_tweet_unicodeScalars 40351 46731 +15.8% 0.86x
SuffixAnyCollection 27 31 +14.8% 0.87x
HashTest 1718 1968 +14.6% 0.87x
CharacterLiteralsLarge 5806 6646 +14.5% 0.87x
ReversedDictionary 113 129 +14.2% 0.88x
StringAdder 3383 3859 +14.1% 0.88x
ObjectiveCBridgeToNSString 1180 1345 +14.0% 0.88x
Dictionary2 1853 2111 +13.9% 0.88x
StringWithCString 75169 85608 +13.9% 0.88x
StackPromo 22140 25057 +13.2% 0.88x
StringEnumRawValueInitialization 1106 1249 +12.9% 0.89x
ArrayAppendUTF16 43632 49219 +12.8% 0.89x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33241 37480 +12.8% 0.89x
LazilyFilteredArrayContains 30690 34429 +12.2% 0.89x
ObjectiveCBridgeStubFromArrayOfNSString 26281 29358 +11.7% 0.90x (?)
FrequenciesUsingReduce 6471 7228 +11.7% 0.90x
MapReduceString 108 120 +11.1% 0.90x
DictionarySwapOfObjects 7143 7936 +11.1% 0.90x
ArrayAppendLatin1 43000 47689 +10.9% 0.90x
StringInterpolation 11269 12496 +10.9% 0.90x
EqualSubstringSubstring 401 442 +10.2% 0.91x
CStringShortAscii 4810 5301 +10.2% 0.91x (?)
TwoSum 998 1098 +10.0% 0.91x
EqualStringSubstring 400 440 +10.0% 0.91x
EqualSubstringSubstringGenericEquatable 401 441 +10.0% 0.91x
LessSubstringSubstringGenericComparable 401 441 +10.0% 0.91x
LessSubstringSubstring 402 441 +9.7% 0.91x
EqualSubstringString 402 440 +9.5% 0.91x
MapReduceLazySequence 86 94 +9.3% 0.91x
SetExclusiveOr 3303 3601 +9.0% 0.92x
MapReduce 458 498 +8.7% 0.92x
PrefixArray 35 38 +8.6% 0.92x
DropLastCountableRangeLazy 12 13 +8.3% 0.92x
Dictionary2OfObjects 3213 3472 +8.1% 0.93x
ObjectiveCBridgeFromNSArrayAnyObject 21903 23627 +7.9% 0.93x
StrToInt 2066 2227 +7.8% 0.93x
StrComplexWalk 1987 2138 +7.6% 0.93x
DictionarySubscriptDefaultMutation 151 162 +7.3% 0.93x
ObjectiveCBridgeFromNSStringForced 2167 2324 +7.2% 0.93x
CharIteration_russian_unicodeScalars 18529 19807 +6.9% 0.94x
DictionaryBridge 3635 3885 +6.9% 0.94x
CharIteration_chinese_unicodeScalars 16853 17999 +6.8% 0.94x
CharIteration_korean_unicodeScalars 21564 22899 +6.2% 0.94x
Chars 1032 1093 +5.9% 0.94x
CharIteration_ascii_unicodeScalars 22245 23532 +5.8% 0.95x
DropFirstArray 35 37 +5.7% 0.95x
PrefixArrayLazy 35 37 +5.7% 0.95x
DropFirstArrayLazy 35 37 +5.7% 0.95x
PrefixWhileCountableRange 53 56 +5.7% 0.95x
FilterEvenUsingReduceInto 146 154 +5.5% 0.95x
Improvement (31)
TEST OLD NEW DELTA SPEEDUP
DropFirstAnySeqCRangeIter 20794 5190 -75.0% 4.01x
DropFirstAnySeqCRangeIterLazy 20789 5191 -75.0% 4.00x
PrefixAnySeqCRangeIterLazy 16263 4397 -73.0% 3.70x
PrefixAnySeqCRangeIter 16243 4411 -72.8% 3.68x
DropWhileAnySeqCRangeIter 16860 4880 -71.1% 3.45x
DropWhileAnySeqCRangeIterLazy 147 90 -38.8% 1.63x
DropWhileAnyCollectionLazy 147 91 -38.1% 1.62x
DropWhileAnySeqCntRangeLazy 147 91 -38.1% 1.62x
PrefixWhileAnySeqCRangeIterLazy 106 72 -32.1% 1.47x
PrefixWhileAnyCollectionLazy 106 73 -31.1% 1.45x
PrefixWhileAnySeqCntRangeLazy 106 73 -31.1% 1.45x
DropFirstAnySeqCntRangeLazy 71 56 -21.1% 1.27x
PrefixAnySeqCntRangeLazy 71 56 -21.1% 1.27x
DropFirstAnySeqCntRange 71 56 -21.1% 1.27x
PrefixAnySeqCntRange 71 56 -21.1% 1.27x
DropWhileCountableRangeLazy 111 90 -18.9% 1.23x
CharIndexing_utf16_unicodeScalars_Backwards 79808 65904 -17.4% 1.21x
DropWhileAnySeqCntRange 95 79 -16.8% 1.20x
DropLastSequenceLazy 743 623 -16.2% 1.19x
LazilyFilteredRange 3811 3208 -15.8% 1.19x
DropLastSequence 741 626 -15.5% 1.18x
DropWhileAnyCollection 99 85 -14.1% 1.16x
PrefixWhileAnySeqCntRange 141 126 -10.6% 1.12x
CStringLongNonAscii 2453 2206 -10.1% 1.11x
PrefixWhileAnyCollection 146 132 -9.6% 1.11x
DropLastAnySeqCntRange 23 21 -8.7% 1.10x
DropLastAnySeqCntRangeLazy 23 21 -8.7% 1.10x
SuffixAnySeqCntRange 23 21 -8.7% 1.10x
SuffixAnySeqCntRangeLazy 23 21 -8.7% 1.10x
ObjectiveCBridgeStubToArrayOfNSString 29054 27610 -5.0% 1.05x
StringComparison_longSharedPrefix 5573 5302 -4.9% 1.05x
No Changes (151)
TEST OLD NEW DELTA SPEEDUP
ArrayAppend 985 1018 +3.4% 0.97x
ArrayAppendArrayOfInt 744 744 +0.0% 1.00x
ArrayAppendFromGeneric 743 745 +0.3% 1.00x (?)
ArrayAppendGenericStructs 1358 1359 +0.1% 1.00x (?)
ArrayAppendOptionals 1358 1361 +0.2% 1.00x
ArrayAppendRepeatCol 1285 1289 +0.3% 1.00x (?)
ArrayAppendReserved 727 765 +5.2% 0.95x
ArrayAppendSequence 1076 1085 +0.8% 0.99x
ArrayAppendStrings 15263 15565 +2.0% 0.98x (?)
ArrayAppendToFromGeneric 744 746 +0.3% 1.00x (?)
ArrayAppendToGeneric 745 747 +0.3% 1.00x (?)
ArrayOfGenericPOD 222 225 +1.4% 0.99x
ArrayPlusEqualArrayOfInt 743 743 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 5472 5616 +2.6% 0.97x
ArrayPlusEqualSingleElementCollection 986 1022 +3.7% 0.96x
ArrayPlusEqualThreeElements 1580 1642 +3.9% 0.96x (?)
CharIteration_ascii_unicodeScalars_Backwards 21071 21698 +3.0% 0.97x
CharIteration_chinese_unicodeScalars_Backwards 15792 16617 +5.2% 0.95x
CharIteration_japanese_unicodeScalars 26683 28044 +5.1% 0.95x
CharIteration_japanese_unicodeScalars_Backwards 25617 25845 +0.9% 0.99x
CharIteration_korean_unicodeScalars_Backwards 20751 21053 +1.5% 0.99x
CharIteration_russian_unicodeScalars_Backwards 17580 18212 +3.6% 0.97x
CharIteration_tweet_unicodeScalars 43995 45610 +3.7% 0.96x
CharIteration_tweet_unicodeScalars_Backwards 40941 40760 -0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars 97098 98402 +1.3% 0.99x
Dictionary 661 666 +0.8% 0.99x
Dictionary3 554 558 +0.7% 0.99x (?)
Dictionary3OfObjects 878 910 +3.6% 0.96x
DictionaryGroup 271 270 -0.4% 1.00x
DictionaryGroupOfObjects 1938 1966 +1.4% 0.99x (?)
DictionaryOfObjects 2360 2301 -2.5% 1.03x (?)
DictionarySubscriptDefaultMutationArray 490 494 +0.8% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3627 3652 +0.7% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 1281 1298 +1.3% 0.99x
DropFirstAnyCollectionLazy 67943 67468 -0.7% 1.01x (?)
DropFirstAnySequence 4230 4277 +1.1% 0.99x
DropFirstAnySequenceLazy 4223 4271 +1.1% 0.99x
DropFirstCountableRangeLazy 35 36 +2.9% 0.97x
DropFirstSequence 2621 2612 -0.3% 1.00x
DropFirstSequenceLazy 2715 2706 -0.3% 1.00x
DropLastAnyCollectionLazy 22792 22317 -2.1% 1.02x
DropLastAnySeqCRangeIter 4358 4310 -1.1% 1.01x
DropLastAnySeqCRangeIterLazy 4357 4325 -0.7% 1.01x
DropLastAnySequence 5883 5915 +0.5% 0.99x (?)
DropLastAnySequenceLazy 6010 5969 -0.7% 1.01x
DropWhileAnySequence 4691 4631 -1.3% 1.01x
DropWhileAnySequenceLazy 1831 1832 +0.1% 1.00x
DropWhileArrayLazy 129 131 +1.6% 0.98x
DropWhileSequence 1322 1305 -1.3% 1.01x
DropWhileSequenceLazy 88 89 +1.1% 0.99x
FilterEvenUsingReduce 1299 1287 -0.9% 1.01x (?)
FrequenciesUsingReduceInto 2881 3032 +5.2% 0.95x
Hanoi 3929 3913 -0.4% 1.00x
Histogram 348 351 +0.9% 0.99x
Integrate 219 218 -0.5% 1.00x
IterateData 1352 1343 -0.7% 1.01x
Join 365 383 +4.9% 0.95x (?)
LazilyFilteredArrays 66153 65806 -0.5% 1.01x
LinkedList 7130 7446 +4.4% 0.96x
MapReduceClass 2992 3114 +4.1% 0.96x
ObjectAllocation 173 175 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3819 3931 +2.9% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38117 37655 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 126985 130128 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 65832 65875 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4625 4666 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 70605 69214 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSString 1012 990 -2.2% 1.02x
ObjectiveCBridgeStubDataAppend 3883 4028 +3.7% 0.96x (?)
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 4105 4161 +1.4% 0.99x
ObjectiveCBridgeStubFromNSString 597 622 +4.2% 0.96x (?)
ObjectiveCBridgeStubFromNSStringRef 172 176 +2.3% 0.98x
ObjectiveCBridgeStubNSDataAppend 2634 2757 +4.7% 0.96x
ObjectiveCBridgeStubNSDateMutationRef 15401 15625 +1.5% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15278 15145 -0.9% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3355 3342 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 1428 1438 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 126 130 +3.2% 0.97x
ObjectiveCBridgeStubURLAppendPath 335157 321310 -4.1% 1.04x (?)
ObjectiveCBridgeStubURLAppendPathRef 339648 327059 -3.7% 1.04x (?)
ObjectiveCBridgeToNSArray 28781 28448 -1.2% 1.01x (?)
ObjectiveCBridgeToNSDictionary 56463 57507 +1.8% 0.98x
ObjectiveCBridgeToNSSet 46304 47350 +2.3% 0.98x
ObserverClosure 2108 2040 -3.2% 1.03x
ObserverForwarderStruct 1097 1098 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3566 3488 -2.2% 1.02x (?)
ObserverUnappliedMethod 2146 2236 +4.2% 0.96x
Phonebook 6607 6587 -0.3% 1.00x
PopFrontUnsafePointer 8861 8985 +1.4% 0.99x (?)
PrefixAnyCollectionLazy 66525 66820 +0.4% 1.00x (?)
PrefixAnySequence 3716 3687 -0.8% 1.01x
PrefixAnySequenceLazy 3688 3688 +0.0% 1.00x
PrefixCountableRangeLazy 35 36 +2.9% 0.97x
PrefixSequence 1307 1344 +2.8% 0.97x
PrefixSequenceLazy 1377 1397 +1.5% 0.99x
PrefixWhileAnySeqCRangeIter 11926 11689 -2.0% 1.02x
PrefixWhileAnySequence 12813 12861 +0.4% 1.00x
PrefixWhileAnySequenceLazy 1373 1375 +0.1% 1.00x
PrefixWhileArray 88 89 +1.1% 0.99x
PrefixWhileArrayLazy 70 72 +2.9% 0.97x
PrefixWhileSequence 390 392 +0.5% 0.99x (?)
PrefixWhileSequenceLazy 52 54 +3.8% 0.96x
Prims 763 790 +3.5% 0.97x
PrimsSplit 768 783 +2.0% 0.98x
RGBHistogram 2824 2928 +3.7% 0.96x
RGBHistogramOfObjects 22928 23028 +0.4% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RecursiveOwnedParameter 2406 2295 -4.6% 1.05x
ReversedArray 57 59 +3.5% 0.97x
ReversedBidirectional 16647 16635 -0.1% 1.00x (?)
SetExclusiveOr_OfObjects 8439 8430 -0.1% 1.00x (?)
SetIntersect 320 320 +0.0% 1.00x
SetIntersect_OfObjects 1724 1714 -0.6% 1.01x
SetIsSubsetOf 291 292 +0.3% 1.00x
SetIsSubsetOf_OfObjects 349 350 +0.3% 1.00x
SetUnion 2981 3055 +2.5% 0.98x
SetUnion_OfObjects 7043 7024 -0.3% 1.00x (?)
SortLargeExistentials 7800 7859 +0.8% 0.99x (?)
SortLettersInPlace 1102 1123 +1.9% 0.98x
SortSortedStrings 1091 1096 +0.5% 1.00x
SortStrings 1951 1945 -0.3% 1.00x
SortStringsUnicode 9055 9111 +0.6% 0.99x (?)
StringComparison_abnormal 702 706 +0.6% 0.99x
StringComparison_ascii 1400 1398 -0.1% 1.00x
StringComparison_emoji 2052 2058 +0.3% 1.00x
StringComparison_fastPrenormal 7050 7025 -0.4% 1.00x (?)
StringComparison_latin1 4783 4826 +0.9% 0.99x (?)
StringComparison_nonBMPSlowestPrenormal 3701 3714 +0.4% 1.00x
StringComparison_slowerPrenormal 3188 3193 +0.2% 1.00x
StringComparison_zalgo 1308 1309 +0.1% 1.00x (?)
StringEdits 169932 177748 +4.6% 0.96x
StringEqualPointerComparison 416 429 +3.1% 0.97x
StringHasPrefixAscii 1288 1231 -4.4% 1.05x
StringHasPrefixUnicode 18435 18989 +3.0% 0.97x
StringHasSuffixAscii 1431 1374 -4.0% 1.04x
StringHasSuffixUnicode 78797 77337 -1.9% 1.02x
StringMatch 8783 8979 +2.2% 0.98x
SubstringComparable 1693 1730 +2.2% 0.98x
SubstringEqualString 1491 1515 +1.6% 0.98x
SubstringEquatable 3630 3665 +1.0% 0.99x
SuffixAnyCollectionLazy 23088 22618 -2.0% 1.02x (?)
SuffixAnySeqCRangeIter 4673 4639 -0.7% 1.01x
SuffixAnySeqCRangeIterLazy 4636 4633 -0.1% 1.00x (?)
SuffixAnySequence 5865 5914 +0.8% 0.99x (?)
SuffixAnySequenceLazy 5962 5931 -0.5% 1.01x (?)
SuffixSequence 4631 4671 +0.9% 0.99x
SuffixSequenceLazy 4621 4662 +0.9% 0.99x (?)
SuperChars 85554 85401 -0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 324 330 +1.9% 0.98x

Unoptimized (Onone)

Regression (69)
TEST OLD NEW DELTA SPEEDUP
BitCount 2099 17440 +730.9% 0.12x
ExclusivityGlobal 194 933 +380.9% 0.21x
SubstringFromLongString 15 52 +246.7% 0.29x
NopDeinit 179208 546846 +205.1% 0.33x
NSStringConversion 446 1220 +173.5% 0.37x
OpenClose 448 1208 +169.6% 0.37x
ExclusivityIndependent 77 183 +137.7% 0.42x
CharacterLiteralsSmall 861 1567 +82.0% 0.55x
SubstringFromLongStringGeneric 101 168 +66.3% 0.60x
StringBuilderLong 1133 1753 +54.7% 0.65x
ArrayLiteral 1672 2460 +47.1% 0.68x
AnyHashableWithAClass 87631 124860 +42.5% 0.70x
ArrayValueProp3 3930 5539 +40.9% 0.71x
ArrayValueProp4 3850 5366 +39.4% 0.72x
RangeIterationSigned 17502 24319 +38.9% 0.72x
DictionaryRemove 18472 25613 +38.7% 0.72x
ByteSwap 3954 5316 +34.4% 0.74x
StringFromLongWholeSubstringGeneric 204 272 +33.3% 0.75x
StringFromLongWholeSubstring 205 269 +31.2% 0.76x
Calculator 1268 1654 +30.4% 0.77x
NSError 706 888 +25.8% 0.80x
ArrayValueProp 3421 4296 +25.6% 0.80x
EqualStringSubstring 661 827 +25.1% 0.80x
ArrayOfRef 9218 11488 +24.6% 0.80x
NSDictionaryCastToSwift 6463 8036 +24.3% 0.80x
ArrayOfGenericRef 10090 12515 +24.0% 0.81x
DictionaryLiteral 8367 10158 +21.4% 0.82x (?)
ErrorHandling 6942 8351 +20.3% 0.83x
SevenBoom 1733 2079 +20.0% 0.83x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35048 41412 +18.2% 0.85x
CharacterLiteralsLarge 6039 7129 +18.0% 0.85x
DictionarySwap 5196 5968 +14.9% 0.87x
EqualSubstringString 661 757 +14.5% 0.87x
DictionaryRemoveOfObjects 50053 57316 +14.5% 0.87x
StringBuilder 7033 8013 +13.9% 0.88x
Dictionary2 2889 3287 +13.8% 0.88x
LessSubstringSubstring 756 857 +13.4% 0.88x
ObjectiveCBridgeFromNSArrayAnyObjectToString 41886 46836 +11.8% 0.89x (?)
ObjectiveCBridgeStubFromArrayOfNSString 27242 30204 +10.9% 0.90x (?)
Dictionary2OfObjects 5603 6168 +10.1% 0.91x
CharIndexing_punctuated_unicodeScalars 100307 110307 +10.0% 0.91x (?)
EqualSubstringSubstring 754 823 +9.2% 0.92x
StringUTF16Builder 7914 8637 +9.1% 0.92x
StringAdder 3769 4109 +9.0% 0.92x
MapReduceShortString 255 278 +9.0% 0.92x
MapReduceLazyCollectionShort 36831 39953 +8.5% 0.92x
SubstringEqualString 6389 6930 +8.5% 0.92x
StringInterpolation 13850 15022 +8.5% 0.92x
CharIndexing_korean_unicodeScalars 437823 474398 +8.4% 0.92x (?)
PrefixArray 5881 6371 +8.3% 0.92x
ObjectiveCBridgeFromNSSetAnyObjectToString 73564 79674 +8.3% 0.92x
LessSubstringSubstringGenericComparable 460 497 +8.0% 0.93x
CharIteration_ascii_unicodeScalars 184760 199288 +7.9% 0.93x
CharIndexing_punctuatedJapanese_unicodeScalars 80604 86640 +7.5% 0.93x
CharIndexing_tweet_unicodeScalars 878416 942119 +7.3% 0.93x (?)
StringComparison_latin1 9221 9863 +7.0% 0.93x
Walsh 12063 12882 +6.8% 0.94x
CharIndexing_russian_unicodeScalars 370726 395743 +6.7% 0.94x (?)
ObjectiveCBridgeStubToNSDate 14841 15837 +6.7% 0.94x (?)
HashTest 17538 18662 +6.4% 0.94x
Memset 44960 47832 +6.4% 0.94x
EqualSubstringSubstringGenericEquatable 461 489 +6.1% 0.94x
FrequenciesUsingReduce 10274 10894 +6.0% 0.94x (?)
StackPromo 86930 92107 +6.0% 0.94x (?)
CharIndexing_chinese_unicodeScalars 340271 360504 +5.9% 0.94x (?)
SuperChars 187878 198888 +5.9% 0.94x
DropFirstArray 5882 6221 +5.8% 0.95x
MonteCarloE 912656 962517 +5.5% 0.95x (?)
ObjectiveCBridgeFromNSSetAnyObject 68173 71783 +5.3% 0.95x
Improvement (59)
TEST OLD NEW DELTA SPEEDUP
PrefixAnyCollection 15658 3850 -75.4% 4.07x
PrefixAnySeqCntRangeLazy 15660 3868 -75.3% 4.05x
DropFirstAnySeqCntRange 15662 3869 -75.3% 4.05x
DropFirstAnySeqCntRangeLazy 15689 3891 -75.2% 4.03x
DropFirstAnyCollection 15618 3887 -75.1% 4.02x
SuffixAnySeqCntRangeLazy 5224 1301 -75.1% 4.02x
PrefixAnySeqCntRange 15627 3892 -75.1% 4.02x
SuffixAnyCollection 5227 1304 -75.1% 4.01x
DropLastAnySeqCntRange 5226 1304 -75.0% 4.01x
DropLastAnySeqCntRangeLazy 5233 1309 -75.0% 4.00x
SuffixAnySeqCntRange 5243 1313 -75.0% 3.99x
DropLastAnyCollection 5235 1311 -75.0% 3.99x
DropWhileCountableRangeLazy 21146 5572 -73.6% 3.80x
DropWhileAnyCollectionLazy 21610 5895 -72.7% 3.67x
DropWhileAnySeqCntRangeLazy 21495 6030 -71.9% 3.56x
DropWhileAnySeqCRangeIterLazy 21517 6058 -71.8% 3.55x
DropFirstAnySeqCRangeIter 22885 6670 -70.9% 3.43x
CaptureProp 342909 100117 -70.8% 3.43x
DropFirstAnySeqCRangeIterLazy 22836 6691 -70.7% 3.41x
LazilyFilteredRange 530439 156435 -70.5% 3.39x
PrefixAnySeqCRangeIter 18402 5892 -68.0% 3.12x
PrefixAnySeqCRangeIterLazy 18383 5978 -67.5% 3.08x
DropWhileAnySeqCRangeIter 24693 8075 -67.3% 3.06x
PrefixWhileCountableRangeLazy 17447 5742 -67.1% 3.04x
PrefixWhileAnyCollectionLazy 17679 5987 -66.1% 2.95x
PrefixWhileAnySeqCRangeIterLazy 17720 6061 -65.8% 2.92x
PrefixWhileAnySeqCntRangeLazy 17586 6095 -65.3% 2.89x
DropWhileAnySeqCntRange 20083 8126 -59.5% 2.47x
DropWhileAnyCollection 19998 8111 -59.4% 2.47x
PrefixWhileAnySeqCntRange 28926 16565 -42.7% 1.75x
SuffixAnySeqCRangeIter 37561 21545 -42.6% 1.74x
PrefixWhileAnyCollection 28919 16622 -42.5% 1.74x
SuffixAnySeqCRangeIterLazy 37231 21781 -41.5% 1.71x
DictionaryGroup 4742 2810 -40.7% 1.69x
RangeIterationUnsigned 39152 23444 -40.1% 1.67x
DropLastAnySeqCRangeIterLazy 41842 25812 -38.3% 1.62x
DropLastAnySeqCRangeIter 41379 25583 -38.2% 1.62x
RangeIterationSigned64 43324 28028 -35.3% 1.55x
PrefixWhileAnySeqCRangeIter 39134 25932 -33.7% 1.51x
ArrayAppendAscii 44635 37653 -15.6% 1.19x
CStringLongAscii 5690 4953 -13.0% 1.15x
StringWithCString 69348 60425 -12.9% 1.15x
StringMatch 44946 39602 -11.9% 1.13x
DropLastCountableRangeLazy 10861 9658 -11.1% 1.12x
ArrayOfPOD 856 771 -9.9% 1.11x
ArrayAppendLatin1 67431 60997 -9.5% 1.11x
ReversedBidirectional 51512 46627 -9.5% 1.10x
CStringLongNonAscii 2614 2384 -8.8% 1.10x
ArrayAppendUTF16 68394 62824 -8.1% 1.09x
ArrayPlusEqualSingleElementCollection 256734 238470 -7.1% 1.08x
ObjectiveCBridgeFromNSString 3205 3002 -6.3% 1.07x (?)
DropFirstCountableRangeLazy 30752 28823 -6.3% 1.07x (?)
ArrayPlusEqualFiveElementCollection 260072 244764 -5.9% 1.06x (?)
ReversedArray 18142 17134 -5.6% 1.06x
RecursiveOwnedParameter 8237 7786 -5.5% 1.06x
PrefixWhileCountableRange 13761 13040 -5.2% 1.06x (?)
DropFirstCountableRange 326 309 -5.2% 1.06x
PrefixCountableRange 326 309 -5.2% 1.06x
Sim2DArray 46502 44276 -4.8% 1.05x
No Changes (202)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4842 4777 -1.3% 1.01x
Array2D 632405 631120 -0.2% 1.00x (?)
ArrayAppend 4752 4631 -2.5% 1.03x
ArrayAppendArrayOfInt 778 796 +2.3% 0.98x (?)
ArrayAppendFromGeneric 798 797 -0.1% 1.00x
ArrayAppendGenericStructs 1414 1414 +0.0% 1.00x
ArrayAppendLazyMap 197007 196665 -0.2% 1.00x (?)
ArrayAppendOptionals 1413 1415 +0.1% 1.00x (?)
ArrayAppendRepeatCol 188601 185592 -1.6% 1.02x
ArrayAppendReserved 4489 4487 -0.0% 1.00x (?)
ArrayAppendSequence 138467 136939 -1.1% 1.01x
ArrayAppendStrings 15797 15273 -3.3% 1.03x
ArrayAppendToFromGeneric 797 799 +0.3% 1.00x
ArrayAppendToGeneric 796 799 +0.4% 1.00x (?)
ArrayInClass 6245 6192 -0.8% 1.01x
ArrayOfGenericPOD 1652 1646 -0.4% 1.00x
ArrayPlusEqualArrayOfInt 797 795 -0.3% 1.00x
ArrayPlusEqualThreeElements 9483 9370 -1.2% 1.01x (?)
ArraySubscript 82955 83176 +0.3% 1.00x (?)
ArrayValueProp2 18480 19266 +4.3% 0.96x
CStringShortAscii 8441 8276 -2.0% 1.02x (?)
CharIndexing_ascii_unicodeScalars 451158 474058 +5.1% 0.95x (?)
CharIndexing_ascii_unicodeScalars_Backwards 474710 469442 -1.1% 1.01x (?)
CharIndexing_chinese_unicodeScalars_Backwards 364678 362367 -0.6% 1.01x (?)
CharIndexing_japanese_unicodeScalars 587715 571315 -2.8% 1.03x (?)
CharIndexing_japanese_unicodeScalars_Backwards 576966 562948 -2.4% 1.02x (?)
CharIndexing_korean_unicodeScalars_Backwards 464502 468451 +0.9% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 82958 87073 +5.0% 0.95x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 106540 103372 -3.0% 1.03x (?)
CharIndexing_russian_unicodeScalars_Backwards 401372 402353 +0.2% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 946583 942889 -0.4% 1.00x (?)
CharIndexing_utf16_unicodeScalars 468185 476900 +1.9% 0.98x
CharIndexing_utf16_unicodeScalars_Backwards 473648 481169 +1.6% 0.98x
CharIteration_ascii_unicodeScalars_Backwards 345723 344798 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars 144049 142790 -0.9% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 262628 258031 -1.8% 1.02x
CharIteration_japanese_unicodeScalars 228535 225686 -1.2% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 409807 407625 -0.5% 1.01x (?)
CharIteration_korean_unicodeScalars 179088 182420 +1.9% 0.98x
CharIteration_korean_unicodeScalars_Backwards 326547 329987 +1.1% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32979 33962 +3.0% 0.97x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 59112 60052 +1.6% 0.98x (?)
CharIteration_punctuated_unicodeScalars 41471 43614 +5.2% 0.95x
CharIteration_punctuated_unicodeScalars_Backwards 74220 77898 +5.0% 0.95x (?)
CharIteration_russian_unicodeScalars 153691 157002 +2.2% 0.98x
CharIteration_russian_unicodeScalars_Backwards 280354 282099 +0.6% 0.99x (?)
CharIteration_tweet_unicodeScalars 365444 371515 +1.7% 0.98x (?)
CharIteration_tweet_unicodeScalars_Backwards 664046 679944 +2.4% 0.98x (?)
CharIteration_utf16_unicodeScalars 215582 219473 +1.8% 0.98x
CharIteration_utf16_unicodeScalars_Backwards 374920 380618 +1.5% 0.99x (?)
Chars 48973 50268 +2.6% 0.97x
ClassArrayGetter 977 982 +0.5% 0.99x (?)
Dictionary 2762 2809 +1.7% 0.98x (?)
Dictionary3 1324 1333 +0.7% 0.99x (?)
Dictionary3OfObjects 2308 2286 -1.0% 1.01x (?)
DictionaryBridge 3931 3902 -0.7% 1.01x (?)
DictionaryGroupOfObjects 7813 7827 +0.2% 1.00x (?)
DictionaryOfObjects 6195 6358 +2.6% 0.97x
DictionarySubscriptDefaultMutation 2007 1998 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2247 2352 +4.7% 0.96x
DictionarySubscriptDefaultMutationArrayOfObjects 9053 8917 -1.5% 1.02x
DictionarySubscriptDefaultMutationOfObjects 5518 5459 -1.1% 1.01x (?)
DictionarySwapOfObjects 22330 23188 +3.8% 0.96x (?)
DropFirstAnyCollectionLazy 121854 118198 -3.0% 1.03x (?)
DropFirstAnySequence 10304 10375 +0.7% 0.99x
DropFirstAnySequenceLazy 10322 10328 +0.1% 1.00x (?)
DropFirstArrayLazy 33067 33441 +1.1% 0.99x (?)
DropFirstSequence 9982 9949 -0.3% 1.00x
DropFirstSequenceLazy 9893 9998 +1.1% 0.99x
DropLastAnyCollectionLazy 39311 39086 -0.6% 1.01x (?)
DropLastAnySequence 29459 29328 -0.4% 1.00x
DropLastAnySequenceLazy 29507 29653 +0.5% 1.00x
DropLastCountableRange 114 109 -4.4% 1.05x
DropLastSequence 29424 29193 -0.8% 1.01x
DropLastSequenceLazy 29395 29236 -0.5% 1.01x (?)
DropWhileAnySequence 11934 11868 -0.6% 1.01x (?)
DropWhileAnySequenceLazy 9608 9761 +1.6% 0.98x
DropWhileArrayLazy 16787 16726 -0.4% 1.00x (?)
DropWhileCountableRange 4836 4623 -4.4% 1.05x
DropWhileSequence 11495 11598 +0.9% 0.99x
DropWhileSequenceLazy 9269 9389 +1.3% 0.99x
FilterEvenUsingReduce 4104 4169 +1.6% 0.98x
FilterEvenUsingReduceInto 2342 2400 +2.5% 0.98x
FrequenciesUsingReduceInto 5238 5390 +2.9% 0.97x (?)
Hanoi 21766 21609 -0.7% 1.01x (?)
Histogram 7027 7181 +2.2% 0.98x
Integrate 818 820 +0.2% 1.00x (?)
IterateData 7853 7580 -3.5% 1.04x
Join 1471 1475 +0.3% 1.00x (?)
LazilyFilteredArrayContains 917825 923029 +0.6% 0.99x
LazilyFilteredArrays 1615570 1595232 -1.3% 1.01x
LinkedList 39484 39667 +0.5% 1.00x (?)
MapReduce 33281 33237 -0.1% 1.00x (?)
MapReduceAnyCollection 33260 33385 +0.4% 1.00x
MapReduceAnyCollectionShort 44578 46678 +4.7% 0.96x
MapReduceClass 37951 38247 +0.8% 0.99x
MapReduceClassShort 49520 51492 +4.0% 0.96x
MapReduceLazyCollection 26657 26838 +0.7% 0.99x
MapReduceLazySequence 17379 17890 +2.9% 0.97x
MapReduceSequence 34184 34120 -0.2% 1.00x
MapReduceShort 44516 46225 +3.8% 0.96x
MapReduceString 2289 2314 +1.1% 0.99x
MonteCarloPi 4019496 4073497 +1.3% 0.99x
ObjectAllocation 1453 1441 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25053 25635 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7833 8030 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 134945 139338 +3.3% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6966 7238 +3.9% 0.96x (?)
ObjectiveCBridgeFromNSStringForced 2584 2486 -3.8% 1.04x (?)
ObjectiveCBridgeStubDataAppend 4527 4599 +1.6% 0.98x (?)
ObjectiveCBridgeStubDateMutation 602 601 -0.2% 1.00x
ObjectiveCBridgeStubFromNSDate 4274 4342 +1.6% 0.98x
ObjectiveCBridgeStubFromNSString 639 648 +1.4% 0.99x
ObjectiveCBridgeStubFromNSStringRef 207 204 -1.4% 1.01x
ObjectiveCBridgeStubNSDataAppend 3084 3080 -0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 18948 18139 -4.3% 1.04x
ObjectiveCBridgeStubToArrayOfNSString 28034 28692 +2.3% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3391 3358 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSString 1484 1503 +1.3% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 159 157 -1.3% 1.01x
ObjectiveCBridgeStubURLAppendPath 334144 328513 -1.7% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 342933 343376 +0.1% 1.00x (?)
ObjectiveCBridgeToNSArray 29777 28780 -3.3% 1.03x
ObjectiveCBridgeToNSDictionary 59379 59167 -0.4% 1.00x (?)
ObjectiveCBridgeToNSSet 48947 48725 -0.5% 1.00x (?)
ObjectiveCBridgeToNSString 1245 1289 +3.5% 0.97x
ObserverClosure 6632 6587 -0.7% 1.01x (?)
ObserverForwarderStruct 4749 4773 +0.5% 0.99x
ObserverPartiallyAppliedMethod 8044 8106 +0.8% 0.99x
ObserverUnappliedMethod 7963 7916 -0.6% 1.01x (?)
Phonebook 22909 22924 +0.1% 1.00x (?)
PolymorphicCalls 6673 6745 +1.1% 0.99x (?)
PopFrontArray 7580 7590 +0.1% 1.00x
PopFrontArrayGeneric 6544 6583 +0.6% 0.99x (?)
PopFrontUnsafePointer 10428 10599 +1.6% 0.98x
PrefixAnyCollectionLazy 115842 118946 +2.7% 0.97x (?)
PrefixAnySequence 8654 8622 -0.4% 1.00x
PrefixAnySequenceLazy 8604 8589 -0.2% 1.00x (?)
PrefixArrayLazy 33096 33457 +1.1% 0.99x
PrefixCountableRangeLazy 29859 28846 -3.4% 1.04x
PrefixSequence 8401 8354 -0.6% 1.01x
PrefixSequenceLazy 8386 8344 -0.5% 1.01x
PrefixWhileAnySequence 28773 28565 -0.7% 1.01x
PrefixWhileAnySequenceLazy 8683 8803 +1.4% 0.99x
PrefixWhileArray 16213 16201 -0.1% 1.00x (?)
PrefixWhileArrayLazy 14249 14409 +1.1% 0.99x
PrefixWhileSequence 28677 28562 -0.4% 1.00x (?)
PrefixWhileSequenceLazy 8504 8636 +1.6% 0.98x
Prims 10190 10173 -0.2% 1.00x (?)
PrimsSplit 10580 10181 -3.8% 1.04x
RC4 18042 18200 +0.9% 0.99x
RGBHistogram 28757 28837 +0.3% 1.00x (?)
RGBHistogramOfObjects 97197 96320 -0.9% 1.01x (?)
RangeAssignment 4393 4434 +0.9% 0.99x
ReversedDictionary 27660 27284 -1.4% 1.01x
SetExclusiveOr 17005 17127 +0.7% 0.99x
SetExclusiveOr_OfObjects 42299 41576 -1.7% 1.02x (?)
SetIntersect 8108 8206 +1.2% 0.99x
SetIntersect_OfObjects 12152 12211 +0.5% 1.00x (?)
SetIsSubsetOf 1318 1319 +0.1% 1.00x (?)
SetIsSubsetOf_OfObjects 1545 1548 +0.2% 1.00x
SetUnion 11655 11628 -0.2% 1.00x
SetUnion_OfObjects 29030 28899 -0.5% 1.00x
SortLargeExistentials 15998 16208 +1.3% 0.99x
SortLettersInPlace 2876 2881 +0.2% 1.00x (?)
SortSortedStrings 1346 1360 +1.0% 0.99x (?)
SortStrings 2503 2519 +0.6% 0.99x
SortStringsUnicode 9374 9550 +1.9% 0.98x
StaticArray 2703 2655 -1.8% 1.02x (?)
StrComplexWalk 6960 7121 +2.3% 0.98x
StrToInt 72586 73790 +1.7% 0.98x (?)
StringComparison_abnormal 1393 1416 +1.7% 0.98x
StringComparison_ascii 13801 14040 +1.7% 0.98x
StringComparison_emoji 3627 3734 +3.0% 0.97x
StringComparison_fastPrenormal 12754 13033 +2.2% 0.98x
StringComparison_longSharedPrefix 7690 7424 -3.5% 1.04x
StringComparison_nonBMPSlowestPrenormal 6534 6675 +2.2% 0.98x
StringComparison_slowerPrenormal 6493 6594 +1.6% 0.98x
StringComparison_zalgo 2710 2751 +1.5% 0.99x
StringEdits 405043 391774 -3.3% 1.03x
StringEnumRawValueInitialization 13896 14022 +0.9% 0.99x (?)
StringEqualPointerComparison 3469 3386 -2.4% 1.02x
StringHasPrefixAscii 2834 2780 -1.9% 1.02x
StringHasPrefixUnicode 20048 20348 +1.5% 0.99x (?)
StringHasSuffixAscii 3004 2914 -3.0% 1.03x
StringHasSuffixUnicode 80390 79321 -1.3% 1.01x
StringWalk 13400 13931 +4.0% 0.96x
SubstringComparable 4278 4345 +1.6% 0.98x (?)
SubstringEquatable 8962 8991 +0.3% 1.00x (?)
SuffixAnyCollectionLazy 39299 40249 +2.4% 0.98x (?)
SuffixAnySequence 25420 25505 +0.3% 1.00x
SuffixAnySequenceLazy 25519 25534 +0.1% 1.00x (?)
SuffixCountableRange 114 109 -4.4% 1.05x
SuffixCountableRangeLazy 9962 9615 -3.5% 1.04x
SuffixSequence 25449 25331 -0.5% 1.00x
SuffixSequenceLazy 25467 25353 -0.4% 1.00x
SumUsingReduce 209830 212622 +1.3% 0.99x
SumUsingReduceInto 203759 206198 +1.2% 0.99x
TwoSum 3899 4004 +2.7% 0.97x
TypeFlood 155 159 +2.6% 0.97x (?)
UTF8Decode 37177 37210 +0.1% 1.00x
XorLoop 23639 23397 -1.0% 1.01x
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

@airspeedswift
Copy link
Member Author

Yikes. OK maybe not so much with the performance... Let's see if unspecializing the iterators helps.

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (77)
TEST OLD NEW DELTA SPEEDUP
ArrayValueProp3 8 1288 +15998.0% 0.01x
ArrayValueProp4 8 1287 +15985.5% 0.01x
Array2D 2521 16582 +557.8% 0.15x
Memset 215 1153 +436.3% 0.19x
ArrayInClass 85 430 +405.9% 0.20x
Sim2DArray 410 1949 +375.4% 0.21x
PrefixAnyCollection 34 120 +252.9% 0.28x
DropFirstAnyCollection 34 119 +250.0% 0.29x
Walsh 440 1501 +241.1% 0.29x
RC4 168 534 +217.9% 0.31x
XorLoop 384 1174 +205.7% 0.33x
PrefixWhileCountableRangeLazy 35 106 +202.9% 0.33x
DropLastAnyCollection 19 49 +157.9% 0.39x
MonteCarloE 10415 24208 +132.4% 0.43x
PolymorphicCalls 25 57 +128.0% 0.44x
MonteCarloPi 42866 89914 +109.8% 0.48x
DropFirstCountableRange 35 71 +102.9% 0.49x
PrefixCountableRange 35 71 +102.9% 0.49x
DropWhileCountableRange 36 72 +100.0% 0.50x
SuffixCountableRange 12 24 +100.0% 0.50x
DropLastCountableRange 12 24 +100.0% 0.50x
ArrayOfPOD 177 347 +96.0% 0.51x
SuffixAnyCollection 27 49 +81.5% 0.55x
ArraySubscript 1496 2706 +80.9% 0.55x
ArrayOfGenericPOD 222 376 +69.4% 0.59x
ArrayAppendSequence 1079 1827 +69.3% 0.59x
ArrayAppendLazyMap 1288 1980 +53.7% 0.65x
MapReduceSequence 446 681 +52.7% 0.65x
PopFrontArray 1894 2820 +48.9% 0.67x
StringFromLongWholeSubstring 176 262 +48.9% 0.67x
PopFrontArrayGeneric 1900 2796 +47.2% 0.68x
ArrayAppendRepeatCol 1284 1819 +41.7% 0.71x
StringWithCString 76820 105977 +38.0% 0.72x
DropWhileCountableRangeLazy 111 153 +37.8% 0.73x
AngryPhonebook 2877 3928 +36.5% 0.73x
ArrayAppendAscii 23669 32211 +36.1% 0.73x
PrefixWhileCountableRange 53 72 +35.8% 0.74x
MapReduceShort 1972 2662 +35.0% 0.74x
MapReduceAnyCollectionShort 2005 2689 +34.1% 0.75x
RangeIterationSigned 171 229 +33.9% 0.75x
DictionaryLiteral 1517 2004 +32.1% 0.76x
CStringLongAscii 6053 7954 +31.4% 0.76x
RangeAssignment 383 502 +31.1% 0.76x
MapReduceShortString 22 28 +27.3% 0.79x
FrequenciesUsingReduce 6403 8107 +26.6% 0.79x
StackPromo 22580 27632 +22.4% 0.82x
MapReduce 458 559 +22.1% 0.82x
ClassArrayGetter 15 18 +20.0% 0.83x
StaticArray 5 6 +20.0% 0.83x
ArrayAppendUTF16 45830 53757 +17.3% 0.85x
ArrayAppendLatin1 44616 52161 +16.9% 0.86x
CStringShortAscii 4822 5611 +16.4% 0.86x (?)
TwoSum 999 1162 +16.3% 0.86x
NSDictionaryCastToSwift 5399 6218 +15.2% 0.87x
MapReduceAnyCollection 458 526 +14.8% 0.87x
DropWhileAnySeqCRangeIter 16781 19254 +14.7% 0.87x
RangeIterationSigned64 200 229 +14.5% 0.87x
ObjectiveCBridgeStubFromArrayOfNSString 26583 30353 +14.2% 0.88x (?)
MapReduceClassShort 4461 5061 +13.4% 0.88x
StringEdits 171460 194299 +13.3% 0.88x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34329 38614 +12.5% 0.89x (?)
MapReduceString 108 121 +12.0% 0.89x
StringEqualPointerComparison 415 458 +10.4% 0.91x
ObjectiveCBridgeStubToNSDate 14455 15778 +9.2% 0.92x (?)
SuffixCountableRangeLazy 11 12 +9.1% 0.92x
ReversedDictionary 112 122 +8.9% 0.92x
ObjectiveCBridgeToNSString 1194 1296 +8.5% 0.92x
ArrayAppendReserved 729 789 +8.2% 0.92x
DictionarySubscriptDefaultMutation 151 163 +7.9% 0.93x
HashTest 1717 1851 +7.8% 0.93x
NopDeinit 21570 23112 +7.1% 0.93x
ObjectiveCBridgeStubDataAppend 3854 4123 +7.0% 0.93x
ArrayAppend 978 1046 +7.0% 0.93x
ArrayPlusEqualFiveElementCollection 5504 5874 +6.7% 0.94x
LazilyFilteredRange 3809 4030 +5.8% 0.95x
ObjectiveCBridgeStubURLAppendPathRef 332068 351229 +5.8% 0.95x (?)
SetUnion 2997 3163 +5.5% 0.95x
Improvement (25)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_utf16_unicodeScalars_Backwards 79727 56538 -29.1% 1.41x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4768 3935 -17.5% 1.21x (?)
ObserverForwarderStruct 1083 905 -16.4% 1.20x (?)
RecursiveOwnedParameter 2710 2273 -16.1% 1.19x
CStringLongNonAscii 2544 2164 -14.9% 1.18x
RangeIterationUnsigned 200 171 -14.5% 1.17x
CharIteration_japanese_unicodeScalars_Backwards 25620 23482 -8.3% 1.09x
DropLastCountableRangeLazy 12 11 -8.3% 1.09x
CharIteration_korean_unicodeScalars_Backwards 20737 19010 -8.3% 1.09x
CharIteration_russian_unicodeScalars_Backwards 17621 16329 -7.3% 1.08x
CharIteration_ascii_unicodeScalars_Backwards 21117 19612 -7.1% 1.08x
DropLastSequence 741 689 -7.0% 1.08x
DropLastSequenceLazy 744 694 -6.7% 1.07x
CharIteration_chinese_unicodeScalars_Backwards 15841 14836 -6.3% 1.07x
ObjectiveCBridgeStubDateMutation 257 243 -5.4% 1.06x
CharIteration_punctuated_unicodeScalars_Backwards 4665 4422 -5.2% 1.05x
CharIndexing_punctuated_unicodeScalars 4628 4388 -5.2% 1.05x
CharIndexing_punctuatedJapanese_unicodeScalars 3696 3505 -5.2% 1.05x
CharIteration_tweet_unicodeScalars_Backwards 40805 38728 -5.1% 1.05x
PrefixAnyCollectionLazy 70671 67150 -5.0% 1.05x
SumUsingReduce 102 97 -4.9% 1.05x
CharIndexing_ascii_unicodeScalars 20476 19494 -4.8% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3701 3524 -4.8% 1.05x
CharIndexing_chinese_unicodeScalars 15489 14750 -4.8% 1.05x
CharIndexing_korean_unicodeScalars 19842 18896 -4.8% 1.05x
No Changes (228)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 70941 70514 -0.6% 1.01x
ArrayAppendArrayOfInt 744 744 +0.0% 1.00x
ArrayAppendFromGeneric 739 747 +1.1% 0.99x (?)
ArrayAppendGenericStructs 1352 1361 +0.7% 0.99x (?)
ArrayAppendOptionals 1358 1362 +0.3% 1.00x
ArrayAppendStrings 15576 15070 -3.2% 1.03x (?)
ArrayAppendToFromGeneric 736 744 +1.1% 0.99x (?)
ArrayAppendToGeneric 743 746 +0.4% 1.00x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericRef 4246 4285 +0.9% 0.99x
ArrayOfRef 4213 4235 +0.5% 0.99x (?)
ArrayPlusEqualArrayOfInt 744 744 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 985 1001 +1.6% 0.98x
ArrayPlusEqualThreeElements 1573 1578 +0.3% 1.00x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
BitCount 202 202 +0.0% 1.00x
ByteSwap 101 101 +0.0% 1.00x
Calculator 41 41 +0.0% 1.00x
CaptureProp 7682 7729 +0.6% 0.99x
CharIndexing_ascii_unicodeScalars_Backwards 19254 18965 -1.5% 1.02x
CharIndexing_chinese_unicodeScalars_Backwards 14727 14308 -2.8% 1.03x
CharIndexing_japanese_unicodeScalars 24502 23354 -4.7% 1.05x
CharIndexing_japanese_unicodeScalars_Backwards 23131 22612 -2.2% 1.02x
CharIndexing_korean_unicodeScalars_Backwards 18731 18406 -1.7% 1.02x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3521 3400 -3.4% 1.04x
CharIndexing_punctuated_unicodeScalars_Backwards 4378 4262 -2.6% 1.03x
CharIndexing_russian_unicodeScalars 17051 16251 -4.7% 1.05x
CharIndexing_russian_unicodeScalars_Backwards 16084 15812 -1.7% 1.02x
CharIndexing_tweet_unicodeScalars 40372 38472 -4.7% 1.05x
CharIndexing_tweet_unicodeScalars_Backwards 38429 37370 -2.8% 1.03x
CharIndexing_utf16_unicodeScalars 68925 69459 +0.8% 0.99x
CharIteration_ascii_unicodeScalars 21731 22647 +4.2% 0.96x
CharIteration_chinese_unicodeScalars 16453 17125 +4.1% 0.96x
CharIteration_japanese_unicodeScalars 26044 27096 +4.0% 0.96x
CharIteration_korean_unicodeScalars 21070 21962 +4.2% 0.96x
CharIteration_punctuatedJapanese_unicodeScalars 3879 4023 +3.7% 0.96x
CharIteration_punctuated_unicodeScalars 4879 5065 +3.8% 0.96x
CharIteration_russian_unicodeScalars 18088 18833 +4.1% 0.96x
CharIteration_tweet_unicodeScalars 43341 45010 +3.9% 0.96x
CharIteration_utf16_unicodeScalars 96907 98093 +1.2% 0.99x
CharIteration_utf16_unicodeScalars_Backwards 70607 70898 +0.4% 1.00x
CharacterLiteralsLarge 5842 5805 -0.6% 1.01x
CharacterLiteralsSmall 512 511 -0.2% 1.00x
Chars 1032 1085 +5.1% 0.95x
Dictionary 655 663 +1.2% 0.99x
Dictionary2 1867 1856 -0.6% 1.01x (?)
Dictionary2OfObjects 3217 3228 +0.3% 1.00x (?)
Dictionary3 552 553 +0.2% 1.00x (?)
Dictionary3OfObjects 879 894 +1.7% 0.98x
DictionaryBridge 3786 3888 +2.7% 0.97x (?)
DictionaryGroup 271 271 +0.0% 1.00x
DictionaryGroupOfObjects 1957 1945 -0.6% 1.01x
DictionaryOfObjects 2287 2311 +1.0% 0.99x (?)
DictionaryRemove 3064 3053 -0.4% 1.00x
DictionaryRemoveOfObjects 22479 22443 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArray 490 497 +1.4% 0.99x
DictionarySubscriptDefaultMutationArrayOfObjects 3629 3639 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1321 1302 -1.4% 1.01x
DictionarySwap 505 490 -3.0% 1.03x
DictionarySwapOfObjects 7136 7162 +0.4% 1.00x (?)
DropFirstAnyCollectionLazy 68082 66638 -2.1% 1.02x (?)
DropFirstAnySeqCRangeIter 20812 21464 +3.1% 0.97x
DropFirstAnySeqCRangeIterLazy 20829 21440 +2.9% 0.97x
DropFirstAnySeqCntRange 71 72 +1.4% 0.99x
DropFirstAnySeqCntRangeLazy 71 72 +1.4% 0.99x
DropFirstAnySequence 4205 4229 +0.6% 0.99x
DropFirstAnySequenceLazy 4229 4228 -0.0% 1.00x (?)
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2621 2620 -0.0% 1.00x
DropFirstSequenceLazy 2716 2715 -0.0% 1.00x (?)
DropLastAnyCollectionLazy 22570 22861 +1.3% 0.99x (?)
DropLastAnySeqCRangeIter 4408 4400 -0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4407 4373 -0.8% 1.01x
DropLastAnySeqCntRange 23 24 +4.3% 0.96x
DropLastAnySeqCntRangeLazy 23 24 +4.3% 0.96x
DropLastAnySequence 5882 6023 +2.4% 0.98x
DropLastAnySequenceLazy 5965 6105 +2.3% 0.98x
DropWhileAnyCollection 99 101 +2.0% 0.98x
DropWhileAnyCollectionLazy 147 148 +0.7% 0.99x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 96 +1.1% 0.99x
DropWhileAnySeqCntRangeLazy 147 148 +0.7% 0.99x
DropWhileAnySequence 4645 4740 +2.0% 0.98x
DropWhileAnySequenceLazy 1831 1831 +0.0% 1.00x
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileSequence 1322 1322 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 400 405 +1.2% 0.99x
EqualSubstringString 402 407 +1.2% 0.99x (?)
EqualSubstringSubstring 400 401 +0.2% 1.00x
EqualSubstringSubstringGenericEquatable 400 401 +0.2% 1.00x (?)
ErrorHandling 2003 2048 +2.2% 0.98x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1287 1281 -0.5% 1.00x (?)
FilterEvenUsingReduceInto 146 149 +2.1% 0.98x
FrequenciesUsingReduceInto 2886 2978 +3.2% 0.97x
Hanoi 3929 3855 -1.9% 1.02x
Histogram 333 340 +2.1% 0.98x
Integrate 218 218 +0.0% 1.00x
IterateData 1341 1338 -0.2% 1.00x (?)
Join 379 378 -0.3% 1.00x (?)
LazilyFilteredArrayContains 30687 31484 +2.6% 0.97x
LazilyFilteredArrays 65664 65878 +0.3% 1.00x (?)
LessSubstringSubstring 400 401 +0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 400 401 +0.2% 1.00x
LinkedList 7157 7161 +0.1% 1.00x (?)
MapReduceClass 2993 3136 +4.8% 0.95x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
NSError 316 315 -0.3% 1.00x (?)
NSStringConversion 395 397 +0.5% 0.99x
ObjectAllocation 173 179 +3.5% 0.97x
ObjectiveCBridgeFromNSArrayAnyObject 22422 22849 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38490 40106 +4.2% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 131316 129598 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 65388 64618 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4634 4660 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 66949 70407 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSString 1029 985 -4.3% 1.04x
ObjectiveCBridgeFromNSStringForced 2145 2137 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4103 4162 +1.4% 0.99x
ObjectiveCBridgeStubFromNSString 592 605 +2.2% 0.98x (?)
ObjectiveCBridgeStubFromNSStringRef 172 176 +2.3% 0.98x
ObjectiveCBridgeStubNSDataAppend 2635 2728 +3.5% 0.97x
ObjectiveCBridgeStubNSDateMutationRef 15354 15500 +1.0% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 28892 28970 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3284 3356 +2.2% 0.98x (?)
ObjectiveCBridgeStubToNSString 1420 1429 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 126 130 +3.2% 0.97x
ObjectiveCBridgeStubURLAppendPath 338327 328394 -2.9% 1.03x (?)
ObjectiveCBridgeToNSArray 28881 29384 +1.7% 0.98x
ObjectiveCBridgeToNSDictionary 55784 57740 +3.5% 0.97x (?)
ObjectiveCBridgeToNSSet 46041 46969 +2.0% 0.98x (?)
ObserverClosure 1998 2083 +4.3% 0.96x
ObserverPartiallyAppliedMethod 3492 3511 +0.5% 0.99x (?)
ObserverUnappliedMethod 2125 2194 +3.2% 0.97x
OpenClose 5 5 +0.0% 1.00x
Phonebook 6610 6460 -2.3% 1.02x
PopFrontUnsafePointer 9099 9220 +1.3% 0.99x
PrefixAnySeqCRangeIter 16133 15726 -2.5% 1.03x
PrefixAnySeqCRangeIterLazy 16144 15718 -2.6% 1.03x (?)
PrefixAnySeqCntRange 71 72 +1.4% 0.99x
PrefixAnySeqCntRangeLazy 71 72 +1.4% 0.99x
PrefixAnySequence 3669 3714 +1.2% 0.99x
PrefixAnySequenceLazy 3746 3727 -0.5% 1.01x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1307 1307 +0.0% 1.00x
PrefixSequenceLazy 1377 1377 +0.0% 1.00x
PrefixWhileAnyCollection 146 148 +1.4% 0.99x
PrefixWhileAnyCollectionLazy 106 107 +0.9% 0.99x
PrefixWhileAnySeqCRangeIter 11801 11820 +0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 143 +0.7% 0.99x
PrefixWhileAnySeqCntRangeLazy 106 107 +0.9% 0.99x
PrefixWhileAnySequence 12860 13014 +1.2% 0.99x
PrefixWhileAnySequenceLazy 1375 1373 -0.1% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileSequence 390 393 +0.8% 0.99x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 783 819 +4.6% 0.96x
PrimsSplit 779 818 +5.0% 0.95x
RGBHistogram 2844 2892 +1.7% 0.98x
RGBHistogramOfObjects 22853 23377 +2.3% 0.98x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16672 16573 -0.6% 1.01x
SetExclusiveOr 3344 3453 +3.3% 0.97x
SetExclusiveOr_OfObjects 8486 8579 +1.1% 0.99x
SetIntersect 319 318 -0.3% 1.00x (?)
SetIntersect_OfObjects 1722 1708 -0.8% 1.01x
SetIsSubsetOf 292 291 -0.3% 1.00x
SetIsSubsetOf_OfObjects 349 350 +0.3% 1.00x
SetUnion_OfObjects 6964 7142 +2.6% 0.98x
SevenBoom 1582 1575 -0.4% 1.00x (?)
SortLargeExistentials 7771 7730 -0.5% 1.01x (?)
SortLettersInPlace 1100 1098 -0.2% 1.00x
SortSortedStrings 1092 1059 -3.0% 1.03x
SortStrings 1948 1897 -2.6% 1.03x
SortStringsUnicode 8953 8973 +0.2% 1.00x (?)
StrComplexWalk 1987 1987 +0.0% 1.00x
StrToInt 2070 2119 +2.4% 0.98x
StringAdder 3367 3374 +0.2% 1.00x (?)
StringBuilder 992 1001 +0.9% 0.99x (?)
StringBuilderLong 965 958 -0.7% 1.01x (?)
StringComparison_abnormal 705 700 -0.7% 1.01x (?)
StringComparison_ascii 1401 1403 +0.1% 1.00x
StringComparison_emoji 2052 2067 +0.7% 0.99x (?)
StringComparison_fastPrenormal 7009 7016 +0.1% 1.00x (?)
StringComparison_latin1 4782 4776 -0.1% 1.00x
StringComparison_longSharedPrefix 5529 5516 -0.2% 1.00x
StringComparison_nonBMPSlowestPrenormal 3712 3773 +1.6% 0.98x
StringComparison_slowerPrenormal 3188 3188 +0.0% 1.00x
StringComparison_zalgo 1310 1306 -0.3% 1.00x
StringEnumRawValueInitialization 1101 1105 +0.4% 1.00x (?)
StringFromLongWholeSubstringGeneric 72 72 +0.0% 1.00x
StringHasPrefixAscii 1288 1263 -1.9% 1.02x
StringHasPrefixUnicode 18241 19071 +4.6% 0.96x
StringHasSuffixAscii 1431 1407 -1.7% 1.02x
StringHasSuffixUnicode 78891 78038 -1.1% 1.01x (?)
StringInterpolation 10965 10936 -0.3% 1.00x (?)
StringMatch 8802 8724 -0.9% 1.01x
StringUTF16Builder 1855 1854 -0.1% 1.00x (?)
StringWalk 1543 1537 -0.4% 1.00x
SubstringComparable 1690 1685 -0.3% 1.00x (?)
SubstringEqualString 1469 1472 +0.2% 1.00x (?)
SubstringEquatable 3603 3605 +0.1% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 71 71 +0.0% 1.00x
SuffixAnyCollectionLazy 22826 22313 -2.2% 1.02x (?)
SuffixAnySeqCRangeIter 4699 4652 -1.0% 1.01x
SuffixAnySeqCRangeIterLazy 4703 4661 -0.9% 1.01x
SuffixAnySeqCntRange 23 24 +4.3% 0.96x
SuffixAnySeqCntRangeLazy 23 24 +4.3% 0.96x
SuffixAnySequence 5907 5939 +0.5% 0.99x
SuffixAnySequenceLazy 6037 6030 -0.1% 1.00x (?)
SuffixSequence 4656 4690 +0.7% 0.99x
SuffixSequenceLazy 4656 4723 +1.4% 0.99x
SumUsingReduceInto 102 102 +0.0% 1.00x
SuperChars 86483 85682 -0.9% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 324 314 -3.1% 1.03x

Unoptimized (Onone)

Regression (23)
TEST OLD NEW DELTA SPEEDUP
ArrayValueProp3 3896 5076 +30.3% 0.77x
ArrayValueProp4 3863 5006 +29.6% 0.77x
NSDictionaryCastToSwift 6641 8023 +20.8% 0.83x
SuffixAnySeqCntRange 5276 6147 +16.5% 0.86x
CharIndexing_ascii_unicodeScalars_Backwards 462918 530731 +14.6% 0.87x
ObjectiveCBridgeStubFromArrayOfNSString 26066 29785 +14.3% 0.88x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 36167 40903 +13.1% 0.88x
StackPromo 85702 95811 +11.8% 0.89x
DropWhileAnySeqCRangeIter 25002 27900 +11.6% 0.90x
ArrayOfPOD 774 857 +10.7% 0.90x
Walsh 12094 13325 +10.2% 0.91x
CharIndexing_punctuated_unicodeScalars_Backwards 101730 110738 +8.9% 0.92x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 80472 86772 +7.8% 0.93x (?)
Memset 44973 48397 +7.6% 0.93x
ObjectiveCBridgeFromNSSetAnyObjectToString 72673 78058 +7.4% 0.93x (?)
CharIndexing_korean_unicodeScalars_Backwards 449500 482767 +7.4% 0.93x (?)
CharIndexing_russian_unicodeScalars_Backwards 387029 415101 +7.3% 0.93x
ObjectiveCBridgeFromNSSetAnyObject 68321 73143 +7.1% 0.93x (?)
CharIndexing_tweet_unicodeScalars_Backwards 922940 987276 +7.0% 0.93x (?)
DictionaryBridge 3934 4149 +5.5% 0.95x
SortSortedStrings 1348 1420 +5.3% 0.95x
ArrayOfGenericPOD 1561 1644 +5.3% 0.95x
CharIndexing_korean_unicodeScalars 455628 479694 +5.3% 0.95x (?)
Improvement (22)
TEST OLD NEW DELTA SPEEDUP
CaptureProp 344959 262328 -24.0% 1.31x
StringWithCString 70547 55622 -21.2% 1.27x
CStringLongAscii 6029 4840 -19.7% 1.25x
ArrayAppendAscii 45146 37335 -17.3% 1.21x
ObjectiveCBridgeFromNSSetAnyObjectForced 8824 7311 -17.1% 1.21x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9319 7925 -15.0% 1.18x (?)
ArrayAppendUTF16 71300 60954 -14.5% 1.17x
ArrayAppendLatin1 68820 59997 -12.8% 1.15x
StringMatch 36972 34311 -7.2% 1.08x
StrToInt 73850 68723 -6.9% 1.07x
PrefixAnySeqCRangeIterLazy 18684 17404 -6.9% 1.07x (?)
PrefixAnySeqCRangeIter 18680 17466 -6.5% 1.07x (?)
FrequenciesUsingReduceInto 5603 5266 -6.0% 1.06x (?)
CStringLongNonAscii 2538 2388 -5.9% 1.06x
DropLastCountableRangeLazy 10602 10004 -5.6% 1.06x
FrequenciesUsingReduce 10751 10184 -5.3% 1.06x
PrefixWhileCountableRange 13989 13261 -5.2% 1.05x
PrefixWhileAnyCollectionLazy 17856 16930 -5.2% 1.05x
DropWhileCountableRangeLazy 21595 20502 -5.1% 1.05x (?)
PrefixWhileCountableRangeLazy 17737 16858 -5.0% 1.05x
DropWhileCountableRange 4908 4667 -4.9% 1.05x
DropLastAnyCollectionLazy 40933 38938 -4.9% 1.05x (?)
No Changes (285)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4775 4771 -0.1% 1.00x (?)
AnyHashableWithAClass 87155 87052 -0.1% 1.00x (?)
Array2D 636902 637760 +0.1% 1.00x (?)
ArrayAppend 4741 4859 +2.5% 0.98x
ArrayAppendArrayOfInt 796 795 -0.1% 1.00x (?)
ArrayAppendFromGeneric 796 795 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1409 1403 -0.4% 1.00x (?)
ArrayAppendLazyMap 197266 197324 +0.0% 1.00x (?)
ArrayAppendOptionals 1411 1410 -0.1% 1.00x (?)
ArrayAppendRepeatCol 189336 187868 -0.8% 1.01x (?)
ArrayAppendReserved 4490 4603 +2.5% 0.98x
ArrayAppendSequence 139175 137074 -1.5% 1.02x
ArrayAppendStrings 15770 15751 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 796 781 -1.9% 1.02x (?)
ArrayAppendToGeneric 794 790 -0.5% 1.01x (?)
ArrayInClass 6251 6225 -0.4% 1.00x
ArrayLiteral 1675 1675 +0.0% 1.00x
ArrayOfGenericRef 10045 10091 +0.5% 1.00x (?)
ArrayOfRef 9247 9317 +0.8% 0.99x (?)
ArrayPlusEqualArrayOfInt 793 793 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 253916 243257 -4.2% 1.04x (?)
ArrayPlusEqualSingleElementCollection 250800 241089 -3.9% 1.04x (?)
ArrayPlusEqualThreeElements 9320 9218 -1.1% 1.01x (?)
ArraySubscript 84807 84759 -0.1% 1.00x (?)
ArrayValueProp 3425 3418 -0.2% 1.00x (?)
ArrayValueProp2 18511 18551 +0.2% 1.00x (?)
BitCount 2099 2206 +5.1% 0.95x
ByteSwap 3949 3911 -1.0% 1.01x
CStringShortAscii 8438 8207 -2.7% 1.03x (?)
Calculator 1239 1255 +1.3% 0.99x
CharIndexing_ascii_unicodeScalars 472209 494170 +4.7% 0.96x (?)
CharIndexing_chinese_unicodeScalars 380464 369391 -2.9% 1.03x
CharIndexing_chinese_unicodeScalars_Backwards 372737 376166 +0.9% 0.99x (?)
CharIndexing_japanese_unicodeScalars 579734 609386 +5.1% 0.95x (?)
CharIndexing_japanese_unicodeScalars_Backwards 598548 603291 +0.8% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 84252 85315 +1.3% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 105410 107946 +2.4% 0.98x (?)
CharIndexing_russian_unicodeScalars 401540 408633 +1.8% 0.98x (?)
CharIndexing_tweet_unicodeScalars 1008222 977532 -3.0% 1.03x
CharIndexing_utf16_unicodeScalars 478319 474657 -0.8% 1.01x (?)
CharIndexing_utf16_unicodeScalars_Backwards 483384 497422 +2.9% 0.97x (?)
CharIteration_ascii_unicodeScalars 186259 184686 -0.8% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 335697 333259 -0.7% 1.01x (?)
CharIteration_chinese_unicodeScalars 143323 142039 -0.9% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 260727 258146 -1.0% 1.01x (?)
CharIteration_japanese_unicodeScalars 228907 227244 -0.7% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 414151 404277 -2.4% 1.02x (?)
CharIteration_korean_unicodeScalars 179827 179146 -0.4% 1.00x
CharIteration_korean_unicodeScalars_Backwards 325760 326777 +0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32973 33000 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 59110 58557 -0.9% 1.01x
CharIteration_punctuated_unicodeScalars 41355 41374 +0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 74726 73999 -1.0% 1.01x
CharIteration_russian_unicodeScalars 154510 153596 -0.6% 1.01x
CharIteration_russian_unicodeScalars_Backwards 280280 280355 +0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 366076 365261 -0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 664180 665885 +0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars 216603 214390 -1.0% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 376147 377217 +0.3% 1.00x (?)
CharacterLiteralsLarge 6017 5914 -1.7% 1.02x (?)
CharacterLiteralsSmall 836 802 -4.1% 1.04x
Chars 49371 49257 -0.2% 1.00x
ClassArrayGetter 978 982 +0.4% 1.00x
Dictionary 2768 2807 +1.4% 0.99x
Dictionary2 2898 2900 +0.1% 1.00x (?)
Dictionary2OfObjects 5594 5654 +1.1% 0.99x (?)
Dictionary3 1337 1330 -0.5% 1.01x (?)
Dictionary3OfObjects 2315 2261 -2.3% 1.02x (?)
DictionaryGroup 4697 4628 -1.5% 1.01x
DictionaryGroupOfObjects 7885 7942 +0.7% 0.99x (?)
DictionaryLiteral 8370 8410 +0.5% 1.00x (?)
DictionaryOfObjects 6312 6254 -0.9% 1.01x (?)
DictionaryRemove 18376 18191 -1.0% 1.01x
DictionaryRemoveOfObjects 49142 49310 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 1999 1999 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 2239 2244 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8831 8909 +0.9% 0.99x
DictionarySubscriptDefaultMutationOfObjects 5477 5528 +0.9% 0.99x (?)
DictionarySwap 5300 5168 -2.5% 1.03x
DictionarySwapOfObjects 22515 22504 -0.0% 1.00x (?)
DropFirstAnyCollection 15656 15180 -3.0% 1.03x
DropFirstAnyCollectionLazy 121810 120107 -1.4% 1.01x (?)
DropFirstAnySeqCRangeIter 23263 23122 -0.6% 1.01x
DropFirstAnySeqCRangeIterLazy 23301 23257 -0.2% 1.00x (?)
DropFirstAnySeqCntRange 15703 15129 -3.7% 1.04x
DropFirstAnySeqCntRangeLazy 15775 15297 -3.0% 1.03x
DropFirstAnySequence 10370 10392 +0.2% 1.00x (?)
DropFirstAnySequenceLazy 10392 10410 +0.2% 1.00x (?)
DropFirstArray 5909 5868 -0.7% 1.01x
DropFirstArrayLazy 32998 32769 -0.7% 1.01x
DropFirstCountableRange 326 327 +0.3% 1.00x
DropFirstCountableRangeLazy 30081 29980 -0.3% 1.00x
DropFirstSequence 10070 9974 -1.0% 1.01x (?)
DropFirstSequenceLazy 10016 9973 -0.4% 1.00x (?)
DropLastAnyCollection 5261 5084 -3.4% 1.03x (?)
DropLastAnySeqCRangeIter 41354 41944 +1.4% 0.99x (?)
DropLastAnySeqCRangeIterLazy 41508 41833 +0.8% 0.99x (?)
DropLastAnySeqCntRange 5256 5065 -3.6% 1.04x (?)
DropLastAnySeqCntRangeLazy 5280 5121 -3.0% 1.03x (?)
DropLastAnySequence 29582 29547 -0.1% 1.00x
DropLastAnySequenceLazy 29565 29664 +0.3% 1.00x
DropLastCountableRange 114 113 -0.9% 1.01x (?)
DropLastSequence 29495 29567 +0.2% 1.00x
DropLastSequenceLazy 29566 29535 -0.1% 1.00x (?)
DropWhileAnyCollection 20177 19685 -2.4% 1.02x (?)
DropWhileAnyCollectionLazy 21764 20766 -4.6% 1.05x
DropWhileAnySeqCRangeIterLazy 21810 20861 -4.4% 1.05x (?)
DropWhileAnySeqCntRange 20160 19576 -2.9% 1.03x (?)
DropWhileAnySeqCntRangeLazy 21909 22002 +0.4% 1.00x
DropWhileAnySequence 11973 11789 -1.5% 1.02x (?)
DropWhileAnySequenceLazy 9714 9619 -1.0% 1.01x
DropWhileArrayLazy 16872 16847 -0.1% 1.00x
DropWhileSequence 11645 11654 +0.1% 1.00x (?)
DropWhileSequenceLazy 9405 9200 -2.2% 1.02x
EqualStringSubstring 664 677 +2.0% 0.98x (?)
EqualSubstringString 660 656 -0.6% 1.01x (?)
EqualSubstringSubstring 756 741 -2.0% 1.02x (?)
EqualSubstringSubstringGenericEquatable 462 450 -2.6% 1.03x
ErrorHandling 6680 6686 +0.1% 1.00x (?)
ExclusivityGlobal 194 194 +0.0% 1.00x
ExclusivityIndependent 73 73 +0.0% 1.00x
FilterEvenUsingReduce 4090 4141 +1.2% 0.99x
FilterEvenUsingReduceInto 2348 2372 +1.0% 0.99x
Hanoi 21673 21402 -1.3% 1.01x (?)
HashTest 17661 17641 -0.1% 1.00x (?)
Histogram 7048 7063 +0.2% 1.00x (?)
Integrate 819 811 -1.0% 1.01x
IterateData 7560 7612 +0.7% 0.99x (?)
Join 1467 1476 +0.6% 0.99x
LazilyFilteredArrayContains 924413 922337 -0.2% 1.00x
LazilyFilteredArrays 1609318 1587087 -1.4% 1.01x (?)
LazilyFilteredRange 530628 515081 -2.9% 1.03x
LessSubstringSubstring 759 741 -2.4% 1.02x
LessSubstringSubstringGenericComparable 460 461 +0.2% 1.00x (?)
LinkedList 39554 39472 -0.2% 1.00x
MapReduce 33153 33261 +0.3% 1.00x
MapReduceAnyCollection 33110 33559 +1.4% 0.99x
MapReduceAnyCollectionShort 44948 45594 +1.4% 0.99x
MapReduceClass 38078 38095 +0.0% 1.00x (?)
MapReduceClassShort 49271 49813 +1.1% 0.99x
MapReduceLazyCollection 26948 26820 -0.5% 1.00x (?)
MapReduceLazyCollectionShort 36610 36837 +0.6% 0.99x (?)
MapReduceLazySequence 17437 17621 +1.1% 0.99x
MapReduceSequence 34195 34036 -0.5% 1.00x
MapReduceShort 44275 45641 +3.1% 0.97x
MapReduceShortString 260 269 +3.5% 0.97x
MapReduceString 2287 2312 +1.1% 0.99x
MonteCarloE 945188 936295 -0.9% 1.01x (?)
MonteCarloPi 3981567 4028310 +1.2% 0.99x
NSError 714 714 +0.0% 1.00x
NSStringConversion 437 440 +0.7% 0.99x
NopDeinit 179144 179244 +0.1% 1.00x (?)
ObjectAllocation 1438 1435 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25185 25831 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41166 42987 +4.4% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 134643 137540 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSString 3037 3004 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2501 2515 +0.6% 0.99x (?)
ObjectiveCBridgeStubDataAppend 4544 4656 +2.5% 0.98x (?)
ObjectiveCBridgeStubDateMutation 605 632 +4.5% 0.96x
ObjectiveCBridgeStubFromNSDate 4273 4476 +4.8% 0.95x (?)
ObjectiveCBridgeStubFromNSString 633 637 +0.6% 0.99x
ObjectiveCBridgeStubFromNSStringRef 208 205 -1.4% 1.01x
ObjectiveCBridgeStubNSDataAppend 3085 3187 +3.3% 0.97x
ObjectiveCBridgeStubNSDateMutationRef 18215 17525 -3.8% 1.04x (?)
ObjectiveCBridgeStubToArrayOfNSString 28443 28623 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15902 15641 -1.6% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3410 3375 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSString 1521 1467 -3.6% 1.04x
ObjectiveCBridgeStubToNSStringRef 158 162 +2.5% 0.98x
ObjectiveCBridgeStubURLAppendPath 349351 353638 +1.2% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 344462 354972 +3.1% 0.97x
ObjectiveCBridgeToNSArray 29588 29433 -0.5% 1.01x (?)
ObjectiveCBridgeToNSDictionary 57000 59369 +4.2% 0.96x (?)
ObjectiveCBridgeToNSSet 48196 49049 +1.8% 0.98x (?)
ObjectiveCBridgeToNSString 1253 1286 +2.6% 0.97x
ObserverClosure 6593 6592 -0.0% 1.00x (?)
ObserverForwarderStruct 4746 4748 +0.0% 1.00x (?)
ObserverPartiallyAppliedMethod 8051 8028 -0.3% 1.00x (?)
ObserverUnappliedMethod 7932 8072 +1.8% 0.98x
OpenClose 429 439 +2.3% 0.98x
Phonebook 22749 22835 +0.4% 1.00x
PolymorphicCalls 6677 7002 +4.9% 0.95x
PopFrontArray 7631 7627 -0.1% 1.00x (?)
PopFrontArrayGeneric 6560 6544 -0.2% 1.00x
PopFrontUnsafePointer 10423 10460 +0.4% 1.00x
PrefixAnyCollection 15695 15279 -2.7% 1.03x
PrefixAnyCollectionLazy 120259 115070 -4.3% 1.05x (?)
PrefixAnySeqCntRange 15726 15318 -2.6% 1.03x (?)
PrefixAnySeqCntRangeLazy 15826 15314 -3.2% 1.03x
PrefixAnySequence 8686 8606 -0.9% 1.01x
PrefixAnySequenceLazy 8729 8634 -1.1% 1.01x
PrefixArray 5941 5852 -1.5% 1.02x
PrefixArrayLazy 32920 32891 -0.1% 1.00x (?)
PrefixCountableRange 327 327 +0.0% 1.00x
PrefixCountableRangeLazy 30037 29999 -0.1% 1.00x
PrefixSequence 8386 8402 +0.2% 1.00x (?)
PrefixSequenceLazy 8408 8397 -0.1% 1.00x (?)
PrefixWhileAnyCollection 29086 28340 -2.6% 1.03x
PrefixWhileAnySeqCRangeIter 37765 38179 +1.1% 0.99x (?)
PrefixWhileAnySeqCRangeIterLazy 17887 17174 -4.0% 1.04x
PrefixWhileAnySeqCntRange 29110 28123 -3.4% 1.04x (?)
PrefixWhileAnySeqCntRangeLazy 17824 17105 -4.0% 1.04x
PrefixWhileAnySequence 28742 28710 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 8770 8757 -0.1% 1.00x (?)
PrefixWhileArray 15839 16231 +2.5% 0.98x
PrefixWhileArrayLazy 14279 14268 -0.1% 1.00x (?)
PrefixWhileSequence 28561 28653 +0.3% 1.00x
PrefixWhileSequenceLazy 8570 8528 -0.5% 1.00x
Prims 10287 10132 -1.5% 1.02x (?)
PrimsSplit 10060 10266 +2.0% 0.98x (?)
RC4 18438 18447 +0.0% 1.00x (?)
RGBHistogram 28697 28580 -0.4% 1.00x (?)
RGBHistogramOfObjects 97288 96536 -0.8% 1.01x (?)
RangeAssignment 4400 4297 -2.3% 1.02x
RangeIterationSigned 17593 17359 -1.3% 1.01x
RangeIterationSigned64 43531 41824 -3.9% 1.04x (?)
RangeIterationUnsigned 39101 37552 -4.0% 1.04x
RecursiveOwnedParameter 8311 7988 -3.9% 1.04x
ReversedArray 18002 17851 -0.8% 1.01x
ReversedBidirectional 50880 52312 +2.8% 0.97x (?)
ReversedDictionary 28100 28027 -0.3% 1.00x (?)
SetExclusiveOr 17150 16984 -1.0% 1.01x
SetExclusiveOr_OfObjects 41622 42065 +1.1% 0.99x (?)
SetIntersect 8120 8298 +2.2% 0.98x
SetIntersect_OfObjects 12182 12160 -0.2% 1.00x (?)
SetIsSubsetOf 1325 1326 +0.1% 1.00x (?)
SetIsSubsetOf_OfObjects 1572 1537 -2.2% 1.02x (?)
SetUnion 11691 11621 -0.6% 1.01x (?)
SetUnion_OfObjects 29359 29109 -0.9% 1.01x (?)
SevenBoom 1807 1722 -4.7% 1.05x
Sim2DArray 46424 45199 -2.6% 1.03x
SortLargeExistentials 16029 16090 +0.4% 1.00x
SortLettersInPlace 2889 2877 -0.4% 1.00x (?)
SortStrings 2542 2664 +4.8% 0.95x
SortStringsUnicode 9289 9491 +2.2% 0.98x
StaticArray 2682 2628 -2.0% 1.02x
StrComplexWalk 6959 6951 -0.1% 1.00x
StringAdder 3733 3626 -2.9% 1.03x
StringBuilder 7046 7137 +1.3% 0.99x (?)
StringBuilderLong 1152 1141 -1.0% 1.01x (?)
StringComparison_abnormal 1404 1394 -0.7% 1.01x (?)
StringComparison_ascii 13808 13816 +0.1% 1.00x (?)
StringComparison_emoji 3618 3629 +0.3% 1.00x (?)
StringComparison_fastPrenormal 12565 12598 +0.3% 1.00x (?)
StringComparison_latin1 9139 9126 -0.1% 1.00x (?)
StringComparison_longSharedPrefix 7583 7569 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6496 6552 +0.9% 0.99x (?)
StringComparison_slowerPrenormal 6405 6443 +0.6% 0.99x
StringComparison_zalgo 2692 2697 +0.2% 1.00x
StringEdits 397261 411513 +3.6% 0.97x (?)
StringEnumRawValueInitialization 13573 13900 +2.4% 0.98x
StringEqualPointerComparison 3498 3545 +1.3% 0.99x
StringFromLongWholeSubstring 206 204 -1.0% 1.01x (?)
StringFromLongWholeSubstringGeneric 199 204 +2.5% 0.98x (?)
StringHasPrefixAscii 2865 2907 +1.5% 0.99x
StringHasPrefixUnicode 20036 19986 -0.2% 1.00x (?)
StringHasSuffixAscii 3048 3001 -1.5% 1.02x
StringHasSuffixUnicode 79895 79450 -0.6% 1.01x
StringInterpolation 14016 14303 +2.0% 0.98x (?)
StringUTF16Builder 7812 7728 -1.1% 1.01x (?)
StringWalk 13528 13459 -0.5% 1.01x
SubstringComparable 4281 4294 +0.3% 1.00x (?)
SubstringEqualString 6426 6476 +0.8% 0.99x (?)
SubstringEquatable 9002 8636 -4.1% 1.04x
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 101 100 -1.0% 1.01x
SuffixAnyCollection 5236 5132 -2.0% 1.02x (?)
SuffixAnyCollectionLazy 39994 40474 +1.2% 0.99x (?)
SuffixAnySeqCRangeIter 37332 37916 +1.6% 0.98x
SuffixAnySeqCRangeIterLazy 37994 36752 -3.3% 1.03x (?)
SuffixAnySeqCntRangeLazy 5270 5121 -2.8% 1.03x (?)
SuffixAnySequence 25529 25571 +0.2% 1.00x
SuffixAnySequenceLazy 25561 25653 +0.4% 1.00x
SuffixCountableRange 114 113 -0.9% 1.01x
SuffixCountableRangeLazy 10011 10004 -0.1% 1.00x (?)
SuffixSequence 25542 25442 -0.4% 1.00x (?)
SuffixSequenceLazy 25569 25571 +0.0% 1.00x (?)
SumUsingReduce 210344 210502 +0.1% 1.00x
SumUsingReduceInto 206325 205172 -0.6% 1.01x
SuperChars 194049 189364 -2.4% 1.02x
TwoSum 3947 3911 -0.9% 1.01x
TypeFlood 153 160 +4.6% 0.96x (?)
UTF8Decode 37318 37326 +0.0% 1.00x (?)
XorLoop 23610 24074 +2.0% 0.98x (?)
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

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (17)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 411 596 +45.0% 0.69x
PrefixWhileArray 88 105 +19.3% 0.84x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3768 4458 +18.3% 0.85x (?)
RangeIterationSigned 171 200 +17.0% 0.86x
ObjectiveCBridgeStubFromArrayOfNSString 25981 30166 +16.1% 0.86x (?)
MapReduceLazyCollectionShort 34 38 +11.8% 0.89x
StringEqualPointerComparison 415 458 +10.4% 0.91x
NopDeinit 21576 23180 +7.4% 0.93x
ObjectiveCBridgeFromNSArrayAnyObjectToString 37906 40560 +7.0% 0.93x (?)
LazilyFilteredArrayContains 30695 32674 +6.4% 0.94x
CharIteration_punctuated_unicodeScalars 4871 5168 +6.1% 0.94x
CharIteration_punctuatedJapanese_unicodeScalars 3878 4105 +5.9% 0.94x
CharIteration_japanese_unicodeScalars 26036 27547 +5.8% 0.95x
CharIteration_chinese_unicodeScalars 16442 17388 +5.8% 0.95x
CharIteration_russian_unicodeScalars 18116 19154 +5.7% 0.95x
CharIteration_ascii_unicodeScalars 21777 23019 +5.7% 0.95x
CharIteration_korean_unicodeScalars 21109 22306 +5.7% 0.95x
Improvement (30)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_utf16_unicodeScalars_Backwards 79865 55118 -31.0% 1.45x
PrefixWhileCountableRange 53 46 -13.2% 1.15x
ObjectiveCBridgeFromNSSetAnyObjectForced 5296 4671 -11.8% 1.13x
CharIteration_japanese_unicodeScalars_Backwards 25608 23449 -8.4% 1.09x
CharIteration_korean_unicodeScalars_Backwards 20729 18995 -8.4% 1.09x
DropLastCountableRangeLazy 12 11 -8.3% 1.09x
SuffixCountableRange 12 11 -8.3% 1.09x
DropLastCountableRange 12 11 -8.3% 1.09x
DropLastSequence 743 683 -8.1% 1.09x
DropLastSequenceLazy 742 683 -8.0% 1.09x
ArrayAppendAscii 23684 21837 -7.8% 1.08x
DictionaryRemove 3038 2806 -7.6% 1.08x
CharIteration_russian_unicodeScalars_Backwards 17622 16311 -7.4% 1.08x
CharIteration_ascii_unicodeScalars_Backwards 21094 19598 -7.1% 1.08x
CharIteration_chinese_unicodeScalars_Backwards 15844 14822 -6.5% 1.07x
MapReduceString 109 102 -6.4% 1.07x
CharIteration_tweet_unicodeScalars_Backwards 40998 38710 -5.6% 1.06x
CStringLongAscii 6072 5735 -5.6% 1.06x
CharIteration_punctuated_unicodeScalars_Backwards 4663 4407 -5.5% 1.06x
CharIndexing_punctuatedJapanese_unicodeScalars 3697 3502 -5.3% 1.06x
CharIndexing_punctuated_unicodeScalars 4628 4388 -5.2% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3703 3511 -5.2% 1.05x
StringWithCString 76672 72698 -5.2% 1.05x
ArrayAppendUTF16 45957 43585 -5.2% 1.05x
ObjectiveCBridgeStubToNSDate 16647 15809 -5.0% 1.05x (?)
ArrayAppendLatin1 44592 42374 -5.0% 1.05x
CharIndexing_chinese_unicodeScalars 15514 14750 -4.9% 1.05x
SumUsingReduce 102 97 -4.9% 1.05x
SumUsingReduceInto 102 97 -4.9% 1.05x
CharIndexing_korean_unicodeScalars 19843 18885 -4.8% 1.05x
No Changes (283)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2939 2960 +0.7% 0.99x
AnyHashableWithAClass 70780 71394 +0.9% 0.99x (?)
Array2D 2521 2520 -0.0% 1.00x (?)
ArrayAppend 981 981 +0.0% 1.00x
ArrayAppendArrayOfInt 744 740 -0.5% 1.01x (?)
ArrayAppendFromGeneric 744 743 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1360 1359 -0.1% 1.00x (?)
ArrayAppendLazyMap 1287 1287 +0.0% 1.00x
ArrayAppendOptionals 1360 1358 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1284 1283 -0.1% 1.00x (?)
ArrayAppendReserved 725 725 +0.0% 1.00x
ArrayAppendSequence 1081 1076 -0.5% 1.00x (?)
ArrayAppendStrings 15041 15441 +2.7% 0.97x (?)
ArrayAppendToFromGeneric 739 744 +0.7% 0.99x (?)
ArrayAppendToGeneric 748 743 -0.7% 1.01x (?)
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 222 222 +0.0% 1.00x
ArrayOfGenericRef 4335 4330 -0.1% 1.00x (?)
ArrayOfPOD 178 177 -0.6% 1.01x (?)
ArrayOfRef 4265 4459 +4.5% 0.96x
ArrayPlusEqualArrayOfInt 743 742 -0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5524 5628 +1.9% 0.98x
ArrayPlusEqualSingleElementCollection 980 977 -0.3% 1.00x (?)
ArrayPlusEqualThreeElements 1569 1573 +0.3% 1.00x
ArraySubscript 1501 1494 -0.5% 1.00x (?)
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
BitCount 202 202 +0.0% 1.00x
ByteSwap 101 101 +0.0% 1.00x
CStringLongNonAscii 2536 2454 -3.2% 1.03x
CStringShortAscii 4839 4813 -0.5% 1.01x
Calculator 41 40 -2.4% 1.02x
CaptureProp 7684 7745 +0.8% 0.99x
CharIndexing_ascii_unicodeScalars 20468 19514 -4.7% 1.05x
CharIndexing_ascii_unicodeScalars_Backwards 19331 18971 -1.9% 1.02x
CharIndexing_chinese_unicodeScalars_Backwards 14617 14365 -1.7% 1.02x
CharIndexing_japanese_unicodeScalars 24518 23360 -4.7% 1.05x
CharIndexing_japanese_unicodeScalars_Backwards 23157 22704 -2.0% 1.02x
CharIndexing_korean_unicodeScalars_Backwards 18714 18398 -1.7% 1.02x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3510 3423 -2.5% 1.03x
CharIndexing_punctuated_unicodeScalars_Backwards 4388 4294 -2.1% 1.02x
CharIndexing_russian_unicodeScalars 17051 16243 -4.7% 1.05x
CharIndexing_russian_unicodeScalars_Backwards 16091 15804 -1.8% 1.02x
CharIndexing_tweet_unicodeScalars 40315 38500 -4.5% 1.05x
CharIndexing_tweet_unicodeScalars_Backwards 38090 37424 -1.7% 1.02x
CharIndexing_utf16_unicodeScalars 69037 68757 -0.4% 1.00x
CharIteration_tweet_unicodeScalars 43339 45434 +4.8% 0.95x
CharIteration_utf16_unicodeScalars 96840 97244 +0.4% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 70688 70221 -0.7% 1.01x
CharacterLiteralsLarge 5866 5879 +0.2% 1.00x
CharacterLiteralsSmall 510 512 +0.4% 1.00x
Chars 1034 1032 -0.2% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Dictionary 655 655 +0.0% 1.00x
Dictionary2 1866 1867 +0.1% 1.00x (?)
Dictionary2OfObjects 3233 3227 -0.2% 1.00x
Dictionary3 550 557 +1.3% 0.99x (?)
Dictionary3OfObjects 882 877 -0.6% 1.01x
DictionaryBridge 3954 4003 +1.2% 0.99x (?)
DictionaryGroup 279 271 -2.9% 1.03x
DictionaryGroupOfObjects 1961 1961 +0.0% 1.00x
DictionaryLiteral 1499 1485 -0.9% 1.01x
DictionaryOfObjects 2270 2269 -0.0% 1.00x (?)
DictionaryRemoveOfObjects 22550 22567 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 151 150 -0.7% 1.01x
DictionarySubscriptDefaultMutationArray 489 486 -0.6% 1.01x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3655 3650 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1318 1319 +0.1% 1.00x (?)
DictionarySwap 484 485 +0.2% 1.00x
DictionarySwapOfObjects 7404 7287 -1.6% 1.02x
DropFirstAnyCollection 34 35 +2.9% 0.97x
DropFirstAnyCollectionLazy 67794 67138 -1.0% 1.01x (?)
DropFirstAnySeqCRangeIter 20882 20022 -4.1% 1.04x
DropFirstAnySeqCRangeIterLazy 20786 20060 -3.5% 1.04x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4206 4277 +1.7% 0.98x
DropFirstAnySequenceLazy 4226 4274 +1.1% 0.99x
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 2621 2621 +0.0% 1.00x
DropFirstSequenceLazy 2714 2715 +0.0% 1.00x (?)
DropLastAnyCollection 19 20 +5.3% 0.95x
DropLastAnyCollectionLazy 22611 23633 +4.5% 0.96x (?)
DropLastAnySeqCRangeIter 4359 4424 +1.5% 0.99x
DropLastAnySeqCRangeIterLazy 4343 4411 +1.6% 0.98x
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5883 6002 +2.0% 0.98x
DropLastAnySequenceLazy 6030 6065 +0.6% 0.99x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16711 16273 -2.6% 1.03x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 4645 4814 +3.6% 0.96x
DropWhileAnySequenceLazy 1831 1830 -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 1322 1322 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 400 399 -0.2% 1.00x
EqualSubstringString 401 400 -0.2% 1.00x
EqualSubstringSubstring 400 400 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 400 400 +0.0% 1.00x
ErrorHandling 2032 2040 +0.4% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1318 1324 +0.5% 1.00x (?)
FilterEvenUsingReduceInto 148 147 -0.7% 1.01x (?)
FrequenciesUsingReduce 6466 6430 -0.6% 1.01x (?)
FrequenciesUsingReduceInto 2878 2890 +0.4% 1.00x (?)
Hanoi 3923 3819 -2.7% 1.03x
HashTest 1731 1713 -1.0% 1.01x (?)
Histogram 340 328 -3.5% 1.04x
Integrate 218 218 +0.0% 1.00x
IterateData 1388 1342 -3.3% 1.03x
Join 378 383 +1.3% 0.99x
LazilyFilteredArrays 66684 65805 -1.3% 1.01x (?)
LazilyFilteredRange 3811 4005 +5.1% 0.95x
LessSubstringSubstring 401 401 +0.0% 1.00x
LessSubstringSubstringGenericComparable 400 400 +0.0% 1.00x
LinkedList 7128 7131 +0.0% 1.00x (?)
MapReduce 457 456 -0.2% 1.00x
MapReduceAnyCollection 459 457 -0.4% 1.00x
MapReduceAnyCollectionShort 2040 2044 +0.2% 1.00x (?)
MapReduceClass 2992 2988 -0.1% 1.00x
MapReduceClassShort 4463 4461 -0.0% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 449 442 -1.6% 1.02x
MapReduceShort 1987 1989 +0.1% 1.00x (?)
MapReduceShortString 22 22 +0.0% 1.00x
Memset 214 214 +0.0% 1.00x
MonteCarloE 10404 10383 -0.2% 1.00x (?)
MonteCarloPi 42891 42895 +0.0% 1.00x (?)
NSDictionaryCastToSwift 5205 5212 +0.1% 1.00x (?)
NSError 317 319 +0.6% 0.99x (?)
NSStringConversion 395 398 +0.8% 0.99x
ObjectAllocation 174 174 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 21868 22114 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33444 33420 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 134387 135276 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 65723 65469 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67878 70634 +4.1% 0.96x (?)
ObjectiveCBridgeFromNSString 1129 1118 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2141 2144 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4029 4037 +0.2% 1.00x (?)
ObjectiveCBridgeStubDateMutation 257 256 -0.4% 1.00x
ObjectiveCBridgeStubFromNSDate 4104 4131 +0.7% 0.99x (?)
ObjectiveCBridgeStubFromNSString 592 618 +4.4% 0.96x (?)
ObjectiveCBridgeStubFromNSStringRef 172 175 +1.7% 0.98x
ObjectiveCBridgeStubNSDataAppend 2647 2655 +0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 15119 15312 +1.3% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 27902 29172 +4.6% 0.96x
ObjectiveCBridgeStubToNSDateRef 3359 3383 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSString 1426 1422 -0.3% 1.00x
ObjectiveCBridgeStubToNSStringRef 126 126 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 330176 338933 +2.7% 0.97x (?)
ObjectiveCBridgeStubURLAppendPathRef 342122 332757 -2.7% 1.03x (?)
ObjectiveCBridgeToNSArray 29345 29001 -1.2% 1.01x (?)
ObjectiveCBridgeToNSDictionary 57572 56701 -1.5% 1.02x (?)
ObjectiveCBridgeToNSSet 46405 47311 +2.0% 0.98x (?)
ObjectiveCBridgeToNSString 1202 1208 +0.5% 1.00x
ObserverClosure 2007 2042 +1.7% 0.98x
ObserverForwarderStruct 868 870 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 3504 3536 +0.9% 0.99x
ObserverUnappliedMethod 2130 2136 +0.3% 1.00x (?)
OpenClose 5 5 +0.0% 1.00x
Phonebook 6608 6417 -2.9% 1.03x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1866 1897 +1.7% 0.98x
PopFrontArrayGeneric 1898 1893 -0.3% 1.00x (?)
PopFrontUnsafePointer 8870 8859 -0.1% 1.00x (?)
PrefixAnyCollection 34 34 +0.0% 1.00x
PrefixAnyCollectionLazy 67499 68401 +1.3% 0.99x (?)
PrefixAnySeqCRangeIter 16201 15803 -2.5% 1.03x
PrefixAnySeqCRangeIterLazy 16214 15801 -2.5% 1.03x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 3694 3692 -0.1% 1.00x (?)
PrefixAnySequenceLazy 3764 3692 -1.9% 1.02x
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 1307 1307 +0.0% 1.00x
PrefixSequenceLazy 1378 1377 -0.1% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 11821 11743 -0.7% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 142 +0.7% 0.99x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 12834 12952 +0.9% 0.99x (?)
PrefixWhileAnySequenceLazy 1373 1372 -0.1% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 391 393 +0.5% 0.99x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 784 763 -2.7% 1.03x
PrimsSplit 777 762 -1.9% 1.02x
RC4 168 164 -2.4% 1.02x
RGBHistogram 2831 2835 +0.1% 1.00x (?)
RGBHistogramOfObjects 23031 22911 -0.5% 1.01x
RangeAssignment 382 383 +0.3% 1.00x (?)
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RecursiveOwnedParameter 2293 2267 -1.1% 1.01x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16661 16655 -0.0% 1.00x (?)
ReversedDictionary 112 112 +0.0% 1.00x
SetExclusiveOr 3331 3259 -2.2% 1.02x
SetExclusiveOr_OfObjects 8368 8497 +1.5% 0.98x
SetIntersect 319 318 -0.3% 1.00x (?)
SetIntersect_OfObjects 1720 1722 +0.1% 1.00x (?)
SetIsSubsetOf 292 291 -0.3% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 3010 2930 -2.7% 1.03x
SetUnion_OfObjects 6986 7010 +0.3% 1.00x
SevenBoom 1615 1590 -1.5% 1.02x (?)
SortLargeExistentials 7797 7866 +0.9% 0.99x (?)
SortLettersInPlace 1104 1103 -0.1% 1.00x
SortSortedStrings 1093 1074 -1.7% 1.02x
SortStrings 1948 1917 -1.6% 1.02x
SortStringsUnicode 8956 9016 +0.7% 0.99x
StackPromo 22053 22911 +3.9% 0.96x
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1986 1987 +0.1% 1.00x (?)
StrToInt 2066 2034 -1.5% 1.02x
StringAdder 3396 3414 +0.5% 0.99x
StringBuilder 1000 1038 +3.8% 0.96x
StringBuilderLong 958 965 +0.7% 0.99x (?)
StringComparison_abnormal 703 699 -0.6% 1.01x
StringComparison_ascii 1400 1401 +0.1% 1.00x
StringComparison_emoji 2048 2050 +0.1% 1.00x (?)
StringComparison_fastPrenormal 7016 7020 +0.1% 1.00x (?)
StringComparison_latin1 4785 4803 +0.4% 1.00x
StringComparison_longSharedPrefix 5527 5539 +0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3711 3714 +0.1% 1.00x (?)
StringComparison_slowerPrenormal 3188 3189 +0.0% 1.00x (?)
StringComparison_zalgo 1313 1315 +0.2% 1.00x
StringEdits 170750 174113 +2.0% 0.98x
StringEnumRawValueInitialization 1102 1110 +0.7% 0.99x
StringFromLongWholeSubstring 179 180 +0.6% 0.99x
StringFromLongWholeSubstringGeneric 75 76 +1.3% 0.99x
StringHasPrefixAscii 1288 1259 -2.3% 1.02x
StringHasPrefixUnicode 18248 18463 +1.2% 0.99x (?)
StringHasSuffixAscii 1431 1374 -4.0% 1.04x
StringHasSuffixUnicode 78769 78901 +0.2% 1.00x (?)
StringInterpolation 10842 10936 +0.9% 0.99x
StringMatch 8807 8970 +1.9% 0.98x
StringUTF16Builder 1850 1858 +0.4% 1.00x (?)
StringWalk 1543 1537 -0.4% 1.00x
SubstringComparable 1684 1676 -0.5% 1.00x (?)
SubstringEqualString 1470 1490 +1.4% 0.99x
SubstringEquatable 3604 3607 +0.1% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 71 71 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 22553 22811 +1.1% 0.99x (?)
SuffixAnySeqCRangeIter 4635 4647 +0.3% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4640 4646 +0.1% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5911 5924 +0.2% 1.00x (?)
SuffixAnySequenceLazy 6007 6015 +0.1% 1.00x (?)
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 4652 4693 +0.9% 0.99x
SuffixSequenceLazy 4655 4658 +0.1% 1.00x
SuperChars 86022 85713 -0.4% 1.00x (?)
TwoSum 1011 999 -1.2% 1.01x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 325 314 -3.4% 1.04x
Walsh 440 434 -1.4% 1.01x
XorLoop 381 377 -1.0% 1.01x (?)

Unoptimized (Onone)

Regression (19)
TEST OLD NEW DELTA SPEEDUP
RangeIterationUnsigned 39061 44993 +15.2% 0.87x
ObjectiveCBridgeFromNSSetAnyObjectToString 72673 82633 +13.7% 0.88x
RangeIterationSigned64 43580 48876 +12.2% 0.89x (?)
ArrayOfGenericPOD 1559 1732 +11.1% 0.90x
ObjectiveCBridgeFromNSArrayAnyObject 23727 26243 +10.6% 0.90x
ArrayOfPOD 775 855 +10.3% 0.91x
ObjectiveCBridgeFromNSArrayAnyObjectToString 40498 44407 +9.7% 0.91x
EqualStringSubstring 667 727 +9.0% 0.92x
ObjectiveCBridgeFromNSArrayAnyObjectForced 8093 8754 +8.2% 0.92x
EqualSubstringString 669 721 +7.8% 0.93x
CharIndexing_russian_unicodeScalars 376492 405720 +7.8% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34696 37213 +7.3% 0.93x (?)
CharIteration_utf16_unicodeScalars 217139 232683 +7.2% 0.93x
TypeFlood 158 169 +7.0% 0.93x (?)
MapReduceShortString 258 275 +6.6% 0.94x
CharIndexing_japanese_unicodeScalars 566420 602318 +6.3% 0.94x (?)
ObjectiveCBridgeFromNSStringForced 2497 2650 +6.1% 0.94x (?)
ObjectiveCBridgeStubToNSDate 15180 16064 +5.8% 0.94x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 135042 142380 +5.4% 0.95x (?)
Improvement (30)
TEST OLD NEW DELTA SPEEDUP
CaptureProp 344865 263902 -23.5% 1.31x
ReversedBidirectional 51998 46474 -10.6% 1.12x (?)
CharIndexing_ascii_unicodeScalars 502754 455384 -9.4% 1.10x (?)
StringMatch 37407 34292 -8.3% 1.09x
PrefixAnySeqCRangeIterLazy 18756 17305 -7.7% 1.08x
PrefixAnySeqCRangeIter 18791 17354 -7.6% 1.08x
ObjectiveCBridgeFromNSString 3299 3054 -7.4% 1.08x
SuffixAnySeqCRangeIterLazy 38755 36287 -6.4% 1.07x
PrefixWhileCountableRange 14083 13194 -6.3% 1.07x
DropFirstAnySeqCRangeIter 23309 21838 -6.3% 1.07x
DropWhileCountableRange 4925 4637 -5.8% 1.06x
StringEqualPointerComparison 3498 3299 -5.7% 1.06x
PrefixAnySeqCntRangeLazy 15790 14910 -5.6% 1.06x
CharIndexing_punctuatedJapanese_unicodeScalars 84386 79721 -5.5% 1.06x (?)
DropWhileAnySeqCRangeIter 24771 23417 -5.5% 1.06x
CStringLongAscii 6038 5712 -5.4% 1.06x
DropLastAnyCollectionLazy 40683 38494 -5.4% 1.06x (?)
CharIndexing_punctuated_unicodeScalars 106012 100370 -5.3% 1.06x
PrefixAnyCollection 15732 14912 -5.2% 1.05x
DropLastAnyCollection 5264 4992 -5.2% 1.05x
DropFirstAnySeqCRangeIterLazy 23020 21838 -5.1% 1.05x
StrToInt 72948 69243 -5.1% 1.05x
DropFirstAnySeqCntRangeLazy 15773 14981 -5.0% 1.05x
SuffixAnySeqCntRangeLazy 5268 5005 -5.0% 1.05x
SuffixAnySeqCntRange 5254 4995 -4.9% 1.05x
DropLastAnySeqCntRangeLazy 5256 4997 -4.9% 1.05x
DropLastAnySeqCRangeIterLazy 42521 40441 -4.9% 1.05x (?)
DropFirstAnyCollection 15684 14918 -4.9% 1.05x
PrefixWhileAnySeqCntRange 29190 27774 -4.9% 1.05x
DropLastAnySeqCntRange 5253 5002 -4.8% 1.05x
No Changes (281)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4871 4811 -1.2% 1.01x
AnyHashableWithAClass 87055 87680 +0.7% 0.99x
Array2D 636492 631861 -0.7% 1.01x
ArrayAppend 4750 4750 +0.0% 1.00x
ArrayAppendArrayOfInt 793 795 +0.3% 1.00x
ArrayAppendAscii 45112 44540 -1.3% 1.01x
ArrayAppendFromGeneric 795 792 -0.4% 1.00x (?)
ArrayAppendGenericStructs 1410 1413 +0.2% 1.00x (?)
ArrayAppendLatin1 68781 68105 -1.0% 1.01x
ArrayAppendLazyMap 197501 196983 -0.3% 1.00x
ArrayAppendOptionals 1409 1384 -1.8% 1.02x (?)
ArrayAppendRepeatCol 189686 188377 -0.7% 1.01x
ArrayAppendReserved 4489 4374 -2.6% 1.03x
ArrayAppendSequence 139074 141504 +1.7% 0.98x
ArrayAppendStrings 15231 15291 +0.4% 1.00x (?)
ArrayAppendToFromGeneric 793 800 +0.9% 0.99x (?)
ArrayAppendToGeneric 796 801 +0.6% 0.99x (?)
ArrayAppendUTF16 70992 68915 -2.9% 1.03x
ArrayInClass 6447 6446 -0.0% 1.00x (?)
ArrayLiteral 1674 1684 +0.6% 0.99x (?)
ArrayOfGenericRef 9920 9914 -0.1% 1.00x (?)
ArrayOfRef 9260 9180 -0.9% 1.01x (?)
ArrayPlusEqualArrayOfInt 795 781 -1.8% 1.02x (?)
ArrayPlusEqualFiveElementCollection 244394 246740 +1.0% 0.99x
ArrayPlusEqualSingleElementCollection 241190 242498 +0.5% 0.99x (?)
ArrayPlusEqualThreeElements 9288 9391 +1.1% 0.99x (?)
ArraySubscript 84779 83719 -1.3% 1.01x
ArrayValueProp 3422 3442 +0.6% 0.99x
ArrayValueProp2 18577 18628 +0.3% 1.00x
ArrayValueProp3 3947 4019 +1.8% 0.98x
ArrayValueProp4 3870 3905 +0.9% 0.99x
BitCount 2100 2096 -0.2% 1.00x
ByteSwap 3949 3955 +0.2% 1.00x (?)
CStringLongNonAscii 2539 2595 +2.2% 0.98x
CStringShortAscii 8549 8857 +3.6% 0.97x (?)
Calculator 1236 1233 -0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 463802 478537 +3.2% 0.97x (?)
CharIndexing_chinese_unicodeScalars 378756 363250 -4.1% 1.04x (?)
CharIndexing_chinese_unicodeScalars_Backwards 350130 357793 +2.2% 0.98x
CharIndexing_japanese_unicodeScalars_Backwards 561511 570970 +1.7% 0.98x (?)
CharIndexing_korean_unicodeScalars 462876 443290 -4.2% 1.04x (?)
CharIndexing_korean_unicodeScalars_Backwards 476356 459386 -3.6% 1.04x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 80984 82420 +1.8% 0.98x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 101656 104358 +2.7% 0.97x (?)
CharIndexing_russian_unicodeScalars_Backwards 384258 392654 +2.2% 0.98x (?)
CharIndexing_tweet_unicodeScalars 913105 921062 +0.9% 0.99x (?)
CharIndexing_tweet_unicodeScalars_Backwards 921504 944981 +2.5% 0.98x (?)
CharIndexing_utf16_unicodeScalars 480039 496238 +3.4% 0.97x
CharIndexing_utf16_unicodeScalars_Backwards 467068 464792 -0.5% 1.00x (?)
CharIteration_ascii_unicodeScalars 186001 184430 -0.8% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 336078 336216 +0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 146751 145916 -0.6% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 262518 261009 -0.6% 1.01x (?)
CharIteration_japanese_unicodeScalars 232500 230750 -0.8% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 425418 421382 -0.9% 1.01x (?)
CharIteration_korean_unicodeScalars 179559 179050 -0.3% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 327804 327215 -0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32996 32962 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 58428 58716 +0.5% 1.00x (?)
CharIteration_punctuated_unicodeScalars 41387 41492 +0.3% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 74369 73836 -0.7% 1.01x (?)
CharIteration_russian_unicodeScalars 154403 153919 -0.3% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 282448 278048 -1.6% 1.02x (?)
CharIteration_tweet_unicodeScalars 366049 366284 +0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 670889 665234 -0.8% 1.01x (?)
CharIteration_utf16_unicodeScalars_Backwards 377195 364819 -3.3% 1.03x (?)
CharacterLiteralsLarge 6135 6167 +0.5% 0.99x (?)
CharacterLiteralsSmall 836 812 -2.9% 1.03x
Chars 49377 49373 -0.0% 1.00x (?)
ClassArrayGetter 978 981 +0.3% 1.00x
Dictionary 2764 2812 +1.7% 0.98x (?)
Dictionary2 2905 2933 +1.0% 0.99x
Dictionary2OfObjects 5775 5759 -0.3% 1.00x (?)
Dictionary3 1326 1329 +0.2% 1.00x (?)
Dictionary3OfObjects 2273 2291 +0.8% 0.99x (?)
DictionaryBridge 3857 3979 +3.2% 0.97x (?)
DictionaryGroup 4685 4641 -0.9% 1.01x
DictionaryGroupOfObjects 7800 8006 +2.6% 0.97x (?)
DictionaryLiteral 8381 8381 +0.0% 1.00x
DictionaryOfObjects 6218 6246 +0.5% 1.00x (?)
DictionaryRemove 18227 18247 +0.1% 1.00x (?)
DictionaryRemoveOfObjects 49112 48828 -0.6% 1.01x (?)
DictionarySubscriptDefaultMutation 2003 2011 +0.4% 1.00x
DictionarySubscriptDefaultMutationArray 2250 2306 +2.5% 0.98x
DictionarySubscriptDefaultMutationArrayOfObjects 8999 9072 +0.8% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 5410 5444 +0.6% 0.99x (?)
DictionarySwap 5302 5179 -2.3% 1.02x
DictionarySwapOfObjects 22575 22613 +0.2% 1.00x (?)
DropFirstAnyCollectionLazy 118472 118993 +0.4% 1.00x (?)
DropFirstAnySeqCntRange 15694 14949 -4.7% 1.05x
DropFirstAnySequence 10410 10316 -0.9% 1.01x
DropFirstAnySequenceLazy 10388 10325 -0.6% 1.01x
DropFirstArray 5925 6038 +1.9% 0.98x
DropFirstArrayLazy 33122 32902 -0.7% 1.01x
DropFirstCountableRange 326 327 +0.3% 1.00x
DropFirstCountableRangeLazy 30611 29792 -2.7% 1.03x (?)
DropFirstSequence 10057 9978 -0.8% 1.01x
DropFirstSequenceLazy 10028 9955 -0.7% 1.01x
DropLastAnySeqCRangeIter 41247 41179 -0.2% 1.00x (?)
DropLastAnySequence 29563 29546 -0.1% 1.00x (?)
DropLastAnySequenceLazy 29563 29410 -0.5% 1.01x
DropLastCountableRange 114 112 -1.8% 1.02x
DropLastCountableRangeLazy 9997 9873 -1.2% 1.01x
DropLastSequence 29498 29308 -0.6% 1.01x
DropLastSequenceLazy 29550 29328 -0.8% 1.01x
DropWhileAnyCollection 20196 19290 -4.5% 1.05x
DropWhileAnyCollectionLazy 21461 20764 -3.2% 1.03x
DropWhileAnySeqCRangeIterLazy 21418 20840 -2.7% 1.03x (?)
DropWhileAnySeqCntRange 20198 19261 -4.6% 1.05x
DropWhileAnySeqCntRangeLazy 21699 20757 -4.3% 1.05x
DropWhileAnySequence 11845 11947 +0.9% 0.99x (?)
DropWhileAnySequenceLazy 9699 9599 -1.0% 1.01x
DropWhileArrayLazy 16841 16980 +0.8% 0.99x
DropWhileCountableRangeLazy 21231 20323 -4.3% 1.04x
DropWhileSequence 11648 11675 +0.2% 1.00x (?)
DropWhileSequenceLazy 9341 9228 -1.2% 1.01x
EqualSubstringSubstring 756 777 +2.8% 0.97x
EqualSubstringSubstringGenericEquatable 462 450 -2.6% 1.03x
ErrorHandling 6647 6619 -0.4% 1.00x (?)
ExclusivityGlobal 194 191 -1.5% 1.02x
ExclusivityIndependent 73 72 -1.4% 1.01x
FilterEvenUsingReduce 4097 4133 +0.9% 0.99x
FilterEvenUsingReduceInto 2353 2372 +0.8% 0.99x
FrequenciesUsingReduce 10611 10754 +1.3% 0.99x (?)
FrequenciesUsingReduceInto 5244 5298 +1.0% 0.99x (?)
Hanoi 21513 21090 -2.0% 1.02x
HashTest 17585 18180 +3.4% 0.97x (?)
Histogram 7079 7128 +0.7% 0.99x (?)
Integrate 819 823 +0.5% 1.00x
IterateData 7586 7602 +0.2% 1.00x (?)
Join 1469 1467 -0.1% 1.00x (?)
LazilyFilteredArrayContains 922618 950606 +3.0% 0.97x
LazilyFilteredArrays 1615675 1576901 -2.4% 1.02x (?)
LazilyFilteredRange 531147 515508 -2.9% 1.03x
LessSubstringSubstring 761 765 +0.5% 0.99x
LessSubstringSubstringGenericComparable 459 459 +0.0% 1.00x
LinkedList 39461 39569 +0.3% 1.00x (?)
MapReduce 33236 33111 -0.4% 1.00x
MapReduceAnyCollection 33110 33333 +0.7% 0.99x
MapReduceAnyCollectionShort 44983 46720 +3.9% 0.96x
MapReduceClass 38048 37927 -0.3% 1.00x
MapReduceClassShort 49548 50346 +1.6% 0.98x
MapReduceLazyCollection 26908 26846 -0.2% 1.00x
MapReduceLazyCollectionShort 36994 37550 +1.5% 0.99x (?)
MapReduceLazySequence 17405 17534 +0.7% 0.99x
MapReduceSequence 34148 33974 -0.5% 1.01x
MapReduceShort 44365 44480 +0.3% 1.00x (?)
MapReduceString 2298 2308 +0.4% 1.00x
Memset 44970 44972 +0.0% 1.00x (?)
MonteCarloE 943726 934561 -1.0% 1.01x
MonteCarloPi 3983555 3977048 -0.2% 1.00x (?)
NSDictionaryCastToSwift 6495 6628 +2.0% 0.98x (?)
NSError 707 707 +0.0% 1.00x
NSStringConversion 438 440 +0.5% 1.00x (?)
NopDeinit 179173 177830 -0.7% 1.01x (?)
ObjectAllocation 1453 1449 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 69385 71564 +3.1% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectForced 7532 7436 -1.3% 1.01x (?)
ObjectiveCBridgeStubDataAppend 4552 4561 +0.2% 1.00x (?)
ObjectiveCBridgeStubDateMutation 605 635 +5.0% 0.95x
ObjectiveCBridgeStubFromArrayOfNSString 28110 27667 -1.6% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 4273 4392 +2.8% 0.97x
ObjectiveCBridgeStubFromNSString 633 666 +5.2% 0.95x
ObjectiveCBridgeStubFromNSStringRef 207 216 +4.3% 0.96x
ObjectiveCBridgeStubNSDataAppend 3083 3180 +3.1% 0.97x
ObjectiveCBridgeStubNSDateMutationRef 17870 18102 +1.3% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 27925 28303 +1.4% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3401 3411 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 1542 1522 -1.3% 1.01x (?)
ObjectiveCBridgeStubToNSStringRef 159 165 +3.8% 0.96x
ObjectiveCBridgeStubURLAppendPath 345765 350376 +1.3% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 349214 333867 -4.4% 1.05x (?)
ObjectiveCBridgeToNSArray 29226 29264 +0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 59791 57608 -3.7% 1.04x (?)
ObjectiveCBridgeToNSSet 48156 49718 +3.2% 0.97x
ObjectiveCBridgeToNSString 1242 1245 +0.2% 1.00x
ObserverClosure 6459 6459 +0.0% 1.00x
ObserverForwarderStruct 4772 4743 -0.6% 1.01x
ObserverPartiallyAppliedMethod 7837 7828 -0.1% 1.00x (?)
ObserverUnappliedMethod 8117 8096 -0.3% 1.00x (?)
OpenClose 429 437 +1.9% 0.98x
Phonebook 22743 22578 -0.7% 1.01x
PolymorphicCalls 6735 6851 +1.7% 0.98x (?)
PopFrontArray 7657 7575 -1.1% 1.01x
PopFrontArrayGeneric 6564 6529 -0.5% 1.01x
PopFrontUnsafePointer 10547 10468 -0.7% 1.01x (?)
PrefixAnyCollectionLazy 122031 119890 -1.8% 1.02x (?)
PrefixAnySeqCntRange 15693 14973 -4.6% 1.05x
PrefixAnySequence 8697 8551 -1.7% 1.02x
PrefixAnySequenceLazy 8716 8570 -1.7% 1.02x
PrefixArray 5924 5939 +0.3% 1.00x
PrefixArrayLazy 33043 32895 -0.4% 1.00x (?)
PrefixCountableRange 327 325 -0.6% 1.01x
PrefixCountableRangeLazy 31269 29824 -4.6% 1.05x
PrefixSequence 8411 8353 -0.7% 1.01x
PrefixSequenceLazy 8458 8397 -0.7% 1.01x
PrefixWhileAnyCollection 29130 27877 -4.3% 1.04x
PrefixWhileAnyCollectionLazy 17949 17151 -4.4% 1.05x
PrefixWhileAnySeqCRangeIter 38711 36964 -4.5% 1.05x (?)
PrefixWhileAnySeqCRangeIterLazy 17587 17090 -2.8% 1.03x
PrefixWhileAnySeqCntRangeLazy 17970 17153 -4.5% 1.05x
PrefixWhileAnySequence 28920 28774 -0.5% 1.01x
PrefixWhileAnySequenceLazy 8807 8749 -0.7% 1.01x
PrefixWhileArray 15850 15812 -0.2% 1.00x
PrefixWhileArrayLazy 14288 14258 -0.2% 1.00x
PrefixWhileCountableRangeLazy 17748 16981 -4.3% 1.05x
PrefixWhileSequence 28560 28378 -0.6% 1.01x (?)
PrefixWhileSequenceLazy 8569 8444 -1.5% 1.01x
Prims 10356 10401 +0.4% 1.00x (?)
PrimsSplit 10602 10308 -2.8% 1.03x (?)
RC4 18045 17789 -1.4% 1.01x
RGBHistogram 28843 28670 -0.6% 1.01x (?)
RGBHistogramOfObjects 98936 97550 -1.4% 1.01x
RangeAssignment 4409 4417 +0.2% 1.00x
RangeIterationSigned 17572 17321 -1.4% 1.01x (?)
RecursiveOwnedParameter 8304 7913 -4.7% 1.05x (?)
ReversedArray 18328 18290 -0.2% 1.00x
ReversedDictionary 27387 27363 -0.1% 1.00x (?)
SetExclusiveOr 17133 17402 +1.6% 0.98x
SetExclusiveOr_OfObjects 41570 41750 +0.4% 1.00x (?)
SetIntersect 8163 8359 +2.4% 0.98x
SetIntersect_OfObjects 12160 12183 +0.2% 1.00x (?)
SetIsSubsetOf 1329 1333 +0.3% 1.00x
SetIsSubsetOf_OfObjects 1566 1540 -1.7% 1.02x
SetUnion 11747 11764 +0.1% 1.00x (?)
SetUnion_OfObjects 29114 29068 -0.2% 1.00x
SevenBoom 1779 1715 -3.6% 1.04x (?)
Sim2DArray 46560 46575 +0.0% 1.00x
SortLargeExistentials 15962 15954 -0.1% 1.00x (?)
SortLettersInPlace 2841 2885 +1.5% 0.98x
SortSortedStrings 1341 1338 -0.2% 1.00x (?)
SortStrings 2546 2546 +0.0% 1.00x
SortStringsUnicode 9271 9521 +2.7% 0.97x
StackPromo 85100 88510 +4.0% 0.96x (?)
StaticArray 2669 2713 +1.6% 0.98x (?)
StrComplexWalk 6947 6948 +0.0% 1.00x (?)
StringAdder 3665 3680 +0.4% 1.00x (?)
StringBuilder 7016 7251 +3.3% 0.97x
StringBuilderLong 1115 1110 -0.4% 1.00x (?)
StringComparison_abnormal 1409 1389 -1.4% 1.01x (?)
StringComparison_ascii 13818 13758 -0.4% 1.00x
StringComparison_emoji 3600 3650 +1.4% 0.99x
StringComparison_fastPrenormal 12637 12791 +1.2% 0.99x
StringComparison_latin1 9185 9284 +1.1% 0.99x
StringComparison_longSharedPrefix 7579 7593 +0.2% 1.00x
StringComparison_nonBMPSlowestPrenormal 6487 6561 +1.1% 0.99x (?)
StringComparison_slowerPrenormal 6402 6469 +1.0% 0.99x
StringComparison_zalgo 2698 2711 +0.5% 1.00x (?)
StringEdits 400067 415261 +3.8% 0.96x (?)
StringEnumRawValueInitialization 13607 13932 +2.4% 0.98x
StringFromLongWholeSubstring 205 204 -0.5% 1.00x
StringFromLongWholeSubstringGeneric 199 199 +0.0% 1.00x
StringHasPrefixAscii 2864 2863 -0.0% 1.00x (?)
StringHasPrefixUnicode 20103 20315 +1.1% 0.99x (?)
StringHasSuffixAscii 3048 2967 -2.7% 1.03x
StringHasSuffixUnicode 80178 80359 +0.2% 1.00x
StringInterpolation 13981 13958 -0.2% 1.00x (?)
StringUTF16Builder 8176 7857 -3.9% 1.04x
StringWalk 13502 13289 -1.6% 1.02x
StringWithCString 70660 69886 -1.1% 1.01x
SubstringComparable 4275 4292 +0.4% 1.00x (?)
SubstringEqualString 6641 6327 -4.7% 1.05x (?)
SubstringEquatable 8972 8737 -2.6% 1.03x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 102 101 -1.0% 1.01x
SuffixAnyCollection 5239 5010 -4.4% 1.05x
SuffixAnyCollectionLazy 39488 38216 -3.2% 1.03x (?)
SuffixAnySeqCRangeIter 38004 36615 -3.7% 1.04x
SuffixAnySequence 25560 25357 -0.8% 1.01x (?)
SuffixAnySequenceLazy 25633 25455 -0.7% 1.01x
SuffixCountableRange 114 113 -0.9% 1.01x
SuffixCountableRangeLazy 10012 9871 -1.4% 1.01x (?)
SuffixSequence 25553 25252 -1.2% 1.01x
SuffixSequenceLazy 25560 25357 -0.8% 1.01x (?)
SumUsingReduce 208698 211972 +1.6% 0.98x
SumUsingReduceInto 206401 206295 -0.1% 1.00x (?)
SuperChars 194453 192388 -1.1% 1.01x (?)
TwoSum 3918 3982 +1.6% 0.98x
UTF8Decode 37843 37678 -0.4% 1.00x
Walsh 12125 12139 +0.1% 1.00x (?)
XorLoop 23611 23651 +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

@airspeedswift
Copy link
Member Author

OK that's better...

@airspeedswift airspeedswift force-pushed the nc-ranges branch 2 times, most recently from b6bcb3c to 5dec78c Compare January 25, 2018 16:14
@swiftlang swiftlang deleted a comment from swift-ci Jan 25, 2018
@swiftlang swiftlang deleted a comment from swift-ci Jan 25, 2018
@swiftlang swiftlang deleted a comment from swift-ci Jan 25, 2018
@swiftlang swiftlang deleted a comment from swift-ci Jan 25, 2018
@airspeedswift
Copy link
Member Author

@swift-ci please test macOS platform

@airspeedswift
Copy link
Member Author

Test with swiftlang/swift-corelibs-foundation#1410

@swift-ci please test linux platform

@natecook1000
Copy link
Member

🎉🎉🎉🎉

@airspeedswift
Copy link
Member Author

@natecook1000 quite

@DougGregor
Copy link
Member

Very cool!

@xwu
Copy link
Collaborator

xwu commented Feb 2, 2018

Looks like there’s a failing OS X test:

======================================================================
FAIL: test_swift_range_type_dwarf (TestSwiftRangeTypes.TestSwiftRangeType)
   Test the Swift.Range<T> type
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1732, in dwarf_test_method
    return attrvalue(self)
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/lldb/packages/Python/lldbsuite/test/decorators.py", line 141, in wrapper
    func(*args, **kwargs)
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/lldb/packages/Python/lldbsuite/test/lang/swift/ranges/TestSwiftRangeTypes.py", line 32, in test_swift_range_type
    self.do_test()
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/lldb/packages/Python/lldbsuite/test/lang/swift/ranges/TestSwiftRangeTypes.py", line 72, in do_test
    '(CountableClosedRange<Int>) c = 1...100'])
  File "/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2256, in expect
    msg if msg else EXP_MSG(str, output, exe))
AssertionError: False is not True : 'frame variable c' returns expected result, got '(ClosedRange<Int>) c = 1...100'
Config=x86_64-/Users/buildnode/jenkins/workspace/swift-PR-osx-smoke-test/branch-master/buildbot_incremental/llvm-macosx-x86_64/bin/clang-5.0
----------------------------------------------------------------------
Ran 1 test in 5.478s

@airspeedswift
Copy link
Member Author

Ack, I didn't think about this having impact on LLDB. I'll fix that. Thanks, @xwu

@airspeedswift
Copy link
Member Author

ok, looks like it's only a hard-coded test expecting a specific test that needs fixing.

@airspeedswift airspeedswift changed the title [stdlib][WIP] Eliminate (Closed)CountableRange using conditional conformance [stdlib] Eliminate (Closed)CountableRange using conditional conformance Jul 31, 2018
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.

8 participants