Skip to content

Performance improvements for new integers #8897

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 4 commits into from
Apr 21, 2017

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Apr 20, 2017

A set of of small peepholes to improve the performance of new integers:

  • peepholes for comparisons with Int.Max
  • peepholes for some variants of cond_br
  • some overflow-check-removal improvements.

swiftix added 4 commits April 20, 2017 15:27
Convert i1_const != X to X != i1_const.
Convert i1_const == X to X == i1_const.
Add the following peepholes:
cond_br(x == 0), t_label, f_label -> cond_br x, f_label, t_label
cond_br (x != 1), t_label, f_label -> cond_br x, f_label, t_label
Make use of the following inequalities:
1) Int.max >= X, X <= Int.max are always true for any signed integer X
2) Int.max < X, X > Int.max are always false for any signed integer X
3) For any X of the same size as Int.max and any n>=1 , (X>>n) is always <= Int.max, that is (X>>n) <= Int.max and Int.max >= (X>>n) are always true.
     At the same time (X>>n) > Int.max and  Int.max < (X>>n) is always false.
4)  X < 0 is always false, if X is known to be a result of an unsigned operation with overflow checks enabled.
     X >= 0 is always true, if X is known to be a result of an unsigned operation with overflow checks enabled.
- Code-refactoring
- Support for comparison followed by a cond_fail
- Correctness fixes for relation propagation
@swiftix
Copy link
Contributor Author

swiftix commented Apr 20, 2017

@swift-ci please test

@dabrahams
Copy link
Contributor

@swiftix thank you, and thanks especially for a solution that doesn't need to touch the standard library!

@swiftix
Copy link
Contributor Author

swiftix commented Apr 21, 2017

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (12)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ErrorHandling 2336 2891 +23.8% 0.81x
ExistentialTestMutating_IntValueBuffer0 13639 15195 +11.4% 0.90x
ExistentialTestTwoMethodCalls_IntValueBuffer2 30308 33338 +10.0% 0.91x
ExistentialTestArrayShift_IntValueBuffer3 3725 4076 +9.4% 0.91x
ExistentialTestArrayShift_ClassValueBuffer3 3722 4076 +9.5% 0.91x
ExistentialTestMutating_ClassValueBuffer4 40552 42946 +5.9% 0.94x
ExistentialTestOneMethodCall_IntValueBuffer2 15154 16087 +6.2% 0.94x
PopFrontUnsafePointer 8990 9554 +6.3% 0.94x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 46977 50008 +6.5% 0.94x
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 43946 46978 +6.9% 0.94x
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 45460 48493 +6.7% 0.94x
ExistentialTestArrayShift_ClassValueBuffer4 3308 3503 +5.9% 0.94x
Improvement (27)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 75572 71242 -5.7% 1.06x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 61913 58671 -5.2% 1.06x
SetExclusiveOr 2777 2594 -6.6% 1.07x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer1 32847 30808 -6.2% 1.07x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer2 34387 31825 -7.5% 1.08x
SortLettersInPlace 1268 1163 -8.3% 1.09x
TwoSum 958 868 -9.4% 1.10x
DropLastArray 11 10 -9.1% 1.10x
ExistentialTestTwoMethodCalls_ClassValueBuffer4 38308 34855 -9.0% 1.10x
PrefixArray 32 29 -9.4% 1.10x
DictionaryOfObjects 2987 2694 -9.8% 1.11x
NopDeinit 30437 27440 -9.8% 1.11x
ProtocolDispatch 3030 2727 -10.0% 1.11x
Dictionary2 2384 2124 -10.9% 1.12x
Dictionary 941 834 -11.4% 1.13x
MapReduceAnyCollection 342 301 -12.0% 1.14x
Dictionary2OfObjects 4393 3662 -16.6% 1.20x
StringInterpolation 10890 8365 -23.2% 1.30x
Dictionary3OfObjects 1416 1085 -23.4% 1.31x
StrToInt 5991 4444 -25.8% 1.35x
Dictionary3 832 602 -27.6% 1.38x
DropWhileArray 64 42 -34.4% 1.52x
ArrayAppendLatin1 70746 43668 -38.3% 1.62x
ArrayAppendUTF16 69668 39840 -42.8% 1.75x
DropFirstArray 51 29 -43.1% 1.76x
SuffixArray 18 10 -44.4% 1.80x
ArrayAppendAscii 55567 19965 -64.1% 2.78x
No Changes (328)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
NSStringConversion 767 729 -5.0% 1.05x
PrefixWhileArray 69 66 -4.3% 1.05x
UTF8Decode 289 274 -5.2% 1.05x
PolymorphicCalls 22 21 -4.5% 1.05x
ObjectiveCBridgeStubURLAppendPathRef 222026 214492 -3.4% 1.04x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 7750 7475 -3.5% 1.04x
OpenClose 54 52 -3.7% 1.04x
SetIntersect 282 272 -3.5% 1.04x(?)
PrefixWhileSequence 440 423 -3.9% 1.04x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 385977 372485 -3.5% 1.04x
MapReduceString 72 70 -2.8% 1.03x
RangeAssignment 312 304 -2.6% 1.03x(?)
ObjectiveCBridgeStubNSDateMutationRef 12492 12184 -2.5% 1.03x(?)
ObjectiveCBridgeStubFromNSDateRef 3610 3517 -2.6% 1.03x
ObjectiveCBridgeStubURLAppendPath 221291 214573 -3.0% 1.03x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 76965 75027 -2.5% 1.03x
ObjectiveCBridgeStubFromNSStringRef 176 171 -2.8% 1.03x(?)
Prims 791 772 -2.4% 1.02x(?)
PrefixWhileArrayLazy 58 57 -1.7% 1.02x(?)
DropLastAnySeqCntRange 41 40 -2.4% 1.02x
StringEdits 406770 397291 -2.3% 1.02x
ObjectiveCBridgeToNSString 1309 1289 -1.5% 1.02x
DropLastAnySeqCntRangeLazy 41 40 -2.4% 1.02x
MapReduce 337 330 -2.1% 1.02x
ObjectiveCBridgeFromNSSetAnyObjectToString 81944 80488 -1.8% 1.02x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 77214 75711 -1.9% 1.02x(?)
ObjectiveCBridgeStubToArrayOfNSString 28843 28267 -2.0% 1.02x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 77115 75772 -1.7% 1.02x(?)
SortStringsUnicode 8092 7931 -2.0% 1.02x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 104523 102039 -2.4% 1.02x(?)
StringHasPrefixUnicode 14831 14573 -1.7% 1.02x
SuffixSequenceLazy 4518 4436 -1.8% 1.02x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 534710 524113 -2.0% 1.02x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 36551 35984 -1.6% 1.02x(?)
ObjectiveCBridgeToNSSet 36919 36109 -2.2% 1.02x(?)
SuffixSequence 4518 4437 -1.8% 1.02x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 109452 107283 -2.0% 1.02x
MapReduceAnyCollectionShort 2017 1989 -1.4% 1.01x(?)
ObjectiveCBridgeStubToNSDate 14457 14361 -0.7% 1.01x(?)
DropWhileAnySeqCntRangeLazy 87 86 -1.1% 1.01x
DropLastAnySeqCRangeIterLazy 4653 4605 -1.0% 1.01x
DropLastSequenceLazy 531 528 -0.6% 1.01x(?)
ArrayAppendGenericStructs 1227 1220 -0.6% 1.01x(?)
ArrayPlusEqualFiveElementCollection 5297 5257 -0.8% 1.01x(?)
PopFrontArray 1214 1207 -0.6% 1.01x
ArrayAppendStrings 13608 13522 -0.6% 1.01x(?)
ObjectAllocation 179 178 -0.6% 1.01x(?)
DropLastAnyCollectionLazy 15168 15015 -1.0% 1.01x(?)
StringHasSuffixUnicode 62083 61547 -0.9% 1.01x
MapReduceClassShort 4561 4533 -0.6% 1.01x(?)
ProtocolDispatch2 168 167 -0.6% 1.01x
CharacterLiteralsLarge 10857 10740 -1.1% 1.01x(?)
366 17024223 16934470 -0.5% 1.01x
PopFrontArrayGeneric 1214 1205 -0.7% 1.01x
ExistentialTestMutating_IntValueBuffer4 51615 51054 -1.1% 1.01x
DropWhileAnySeqCntRange 128 127 -0.8% 1.01x
MapReduceShort 1949 1921 -1.4% 1.01x
ReversedBidirectional 48552 48259 -0.6% 1.01x(?)
DictionaryLiteral 1507 1492 -1.0% 1.01x(?)
PrefixWhileAnySeqCntRange 155 154 -0.7% 1.01x
RC4 157 156 -0.6% 1.01x(?)
ArrayOfGenericRef 4014 3992 -0.6% 1.01x(?)
DropWhileAnyCollection 134 133 -0.8% 1.01x
DictionaryRemove 3210 3188 -0.7% 1.01x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 105601 104980 -0.6% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43526 43189 -0.8% 1.01x(?)
DropFirstAnyCollectionLazy 45275 45035 -0.5% 1.01x(?)
ObjectiveCBridgeStubToNSString 1531 1518 -0.8% 1.01x(?)
DropFirstAnySeqCntRange 116 115 -0.9% 1.01x(?)
SevenBoom 1470 1461 -0.6% 1.01x(?)
PrefixWhileAnySequence 14239 14033 -1.4% 1.01x(?)
DropWhileSequence 3156 3124 -1.0% 1.01x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37707 37514 -0.5% 1.01x(?)
DropFirstAnySequence 6831 6793 -0.6% 1.01x(?)
SuffixAnySeqCRangeIterLazy 4978 4928 -1.0% 1.01x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 105848 104565 -1.2% 1.01x
DropWhileSequenceLazy 76 76 +0.0% 1.00x
DropLastSequence 530 528 -0.4% 1.00x(?)
ArraySubscript 1495 1496 +0.1% 1.00x(?)
SetExclusiveOr_OfObjects 9420 9419 -0.0% 1.00x(?)
StackPromo 22160 22088 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121878 121864 -0.0% 1.00x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer3 30309 30307 -0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 225136 225148 +0.0% 1.00x(?)
DropFirstCountableRangeLazy 23 23 +0.0% 1.00x
Integrate 264 264 +0.0% 1.00x
PrefixAnySequence 6101 6088 -0.2% 1.00x(?)
PrefixSequenceLazy 2599 2600 +0.0% 1.00x(?)
AnyHashableWithAClass 67608 67444 -0.2% 1.00x(?)
ClassArrayGetter 13 13 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 27328 27246 -0.3% 1.00x(?)
Array2D 2038 2035 -0.1% 1.00x(?)
Histogram 247 246 -0.4% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 16146 16152 +0.0% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 17162 17163 +0.0% 1.00x(?)
PrefixAnySeqCRangeIter 21553 21543 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4910 4927 +0.3% 1.00x(?)
PrefixWhileAnyCollection 160 160 +0.0% 1.00x
PrefixWhileCountableRangeLazy 23 23 +0.0% 1.00x
ExistentialTestArrayOneMethodCall_IntValueBuffer0 5528 5526 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer1 5526 5539 +0.2% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer2 5563 5559 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4488 4466 -0.5% 1.00x(?)
PrefixAnyCollectionLazy 44900 45073 +0.4% 1.00x(?)
SuffixAnySeqCntRange 40 40 +0.0% 1.00x
DropFirstCountableRange 23 23 +0.0% 1.00x
DictionarySwap 368 368 +0.0% 1.00x
ReversedDictionary 108 108 +0.0% 1.00x
DropWhileAnySequenceLazy 2108 2109 +0.1% 1.00x(?)
ArrayAppendToFromGeneric 595 595 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 280344 281554 +0.4% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 121235 121237 +0.0% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 7516 7479 -0.5% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 142446 142448 +0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer1 60864 60860 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer2 90671 90685 +0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer0 30722 30701 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer4 61977 61801 -0.3% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer2 31636 31620 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer3 32370 32320 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer4 60666 60623 -0.1% 1.00x(?)
PrefixCountableRangeLazy 23 23 +0.0% 1.00x
MapReduceLazyCollectionShort 44 44 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
ArrayAppendOptionals 1216 1218 +0.2% 1.00x(?)
ArrayAppendLazyMap 995 994 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer3 121275 121015 -0.2% 1.00x(?)
XorLoop 347 347 +0.0% 1.00x
DropFirstSequenceLazy 3030 3031 +0.0% 1.00x(?)
PrefixWhileAnyCollectionLazy 77 77 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer4 18285 18269 -0.1% 1.00x
ObserverClosure 2293 2296 +0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer3 14233 14181 -0.4% 1.00x(?)
CharacterLiteralsSmall 778 778 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 115 115 +0.0% 1.00x
LazilyFilteredRange 6934 6960 +0.4% 1.00x(?)
MapReduceLazySequence 90 90 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 773 772 -0.1% 1.00x(?)
ObjectiveCBridgeStubFromNSString 920 916 -0.4% 1.00x(?)
ArrayOfRef 3891 3896 +0.1% 1.00x(?)
TypeFlood 0 0 +0.0% 1.00x
DropFirstAnySeqCRangeIter 27348 27249 -0.4% 1.00x(?)
DropLastAnyCollection 52 52 +0.0% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 26688 26689 +0.0% 1.00x(?)
ArrayLiteral 1224 1227 +0.2% 1.00x(?)
PrefixAnySeqCRangeIterLazy 21570 21508 -0.3% 1.00x(?)
Walsh 356 356 +0.0% 1.00x
ExistentialTestArrayMutating_ClassValueBuffer2 14216 14180 -0.2% 1.00x
SetIntersect_OfObjects 1738 1743 +0.3% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer1 14187 14180 -0.1% 1.00x(?)
SuffixCountableRangeLazy 8 8 +0.0% 1.00x
ObserverUnappliedMethod 2650 2642 -0.3% 1.00x(?)
StrComplexWalk 986 982 -0.4% 1.00x(?)
ArrayPlusEqualArrayOfInt 594 595 +0.2% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 24932 24933 +0.0% 1.00x(?)
NSError 291 290 -0.3% 1.00x(?)
PrefixCountableRange 23 23 +0.0% 1.00x
SetIsSubsetOf 316 316 +0.0% 1.00x
DropFirstSequence 3066 3066 +0.0% 1.00x
StringEqualPointerComparison 7317 7283 -0.5% 1.00x
ExistentialTestMutating_IntValueBuffer1 16639 16670 +0.2% 1.00x(?)
StringAdder 0 0 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 109 109 +0.0% 1.00x
ArrayAppendFromGeneric 595 595 +0.0% 1.00x
DropLastCountableRangeLazy 8 8 +0.0% 1.00x
PrefixWhileSequenceLazy 34 34 +0.0% 1.00x
MapReduceSequence 466 467 +0.2% 1.00x(?)
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixSequence 2637 2637 +0.0% 1.00x
IterateData 762 763 +0.1% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
LazilyFilteredArrays 71695 71675 -0.0% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 243990 243976 -0.0% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 98402 98204 -0.2% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 35045 35036 -0.0% 1.00x(?)
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
PrefixWhileAnySequenceLazy 1586 1587 +0.1% 1.00x(?)
CStringShortAscii 6125 6120 -0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 224279 224286 +0.0% 1.00x(?)
NSDictionaryCastToSwift 5265 5284 +0.4% 1.00x(?)
RGBHistogramOfObjects 24881 24781 -0.4% 1.00x(?)
PrefixWhileAnySeqCRangeIterLazy 77 77 +0.0% 1.00x
CaptureProp 4852 4850 -0.0% 1.00x(?)
ArrayInClass 61 61 +0.0% 1.00x
DropWhileCountableRangeLazy 79 79 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
ExistentialTestTwoMethodCalls_IntValueBuffer3 30307 30307 +0.0% 1.00x
ExistentialTestTwoMethodCalls_IntValueBuffer0 31438 31382 -0.2% 1.00x(?)
ArrayAppendRepeatCol 837 837 +0.0% 1.00x
MapReduceShortString 18 18 +0.0% 1.00x
ExistentialTestTwoMethodCalls_ClassValueBuffer1 30308 30309 +0.0% 1.00x(?)
MonteCarloPi 44066 43979 -0.2% 1.00x
DropWhileArrayLazy 80 80 +0.0% 1.00x
ExistentialTestArrayMutating_ClassValueBuffer4 16916 16933 +0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 14530 14537 +0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 14642 14648 +0.0% 1.00x(?)
MonteCarloE 10314 10362 +0.5% 1.00x(?)
SetUnion_OfObjects 7986 8018 +0.4% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer4 14317 14323 +0.0% 1.00x(?)
DropFirstArrayLazy 29 29 +0.0% 1.00x
SuffixArrayLazy 10 10 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer3 15726 15722 -0.0% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer2 14186 14185 -0.0% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer1 14753 14753 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer0 14568 14564 -0.0% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 251564 251544 -0.0% 1.00x(?)
ArrayAppendToGeneric 595 595 +0.0% 1.00x
SetIsSubsetOf_OfObjects 400 400 +0.0% 1.00x
HashQuadratic 6343775 6344374 +0.0% 1.00x(?)
ArrayAppend 772 772 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 155879 155773 -0.1% 1.00x(?)
SuffixAnySeqCntRangeLazy 40 40 +0.0% 1.00x
ArrayAppendReserved 532 532 +0.0% 1.00x
SuffixAnyCollectionLazy 15107 15037 -0.5% 1.00x(?)
DropWhileAnySequence 7582 7600 +0.2% 1.00x
LinkedList 7059 7043 -0.2% 1.00x(?)
ReversedArray 49 49 +0.0% 1.00x
SuffixCountableRange 8 8 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23338 23345 +0.0% 1.00x(?)
DropLastArrayLazy 10 10 +0.0% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 15934 15938 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4127 4130 +0.1% 1.00x(?)
ArrayAppendSequence 994 993 -0.1% 1.00x(?)
ArrayAppendArrayOfInt 595 595 +0.0% 1.00x
ArrayOfPOD 166 166 +0.0% 1.00x
Chars 1382 1386 +0.3% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 216700 216703 +0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 365732 365733 +0.0% 1.00x(?)
DropWhileAnySeqCRangeIterLazy 87 87 +0.0% 1.00x
MapReduceLazyCollection 15 15 +0.0% 1.00x
ObjectiveCBridgeStubNSDateRefAccess 317 317 +0.0% 1.00x
ObserverForwarderStruct 1116 1117 +0.1% 1.00x(?)
StringBuilderLong 954 956 +0.2% 1.00x(?)
DropFirstAnyCollection 126 126 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
BitCount 0 0 +0.0% 1.00x
AngryPhonebook 2897 2900 +0.1% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer4 18185 18185 +0.0% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 100783 101027 +0.2% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer2 16669 16669 +0.0% 1.00x
DropLastCountableRange 8 8 +0.0% 1.00x
StringWalk 6158 6137 -0.3% 1.00x
ArrayValueProp 6 6 +0.0% 1.00x
DropFirstAnySequenceLazy 6775 6793 +0.3% 1.00x(?)
MapReduceClass 2987 2978 -0.3% 1.00x(?)
PrefixWhileAnySeqCntRangeLazy 77 77 +0.0% 1.00x
StringHasSuffix 798 798 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 234 234 +0.0% 1.00x
ExistentialTestTwoMethodCalls_IntValueBuffer4 35708 35781 +0.2% 1.00x(?)
ArrayValueProp4 6 6 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
PrefixArrayLazy 29 29 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3824 3815 -0.2% 1.00x(?)
DictionarySwapOfObjects 6963 7033 +1.0% 0.99x(?)
DictionaryBridge 2630 2660 +1.1% 0.99x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 203066 204579 +0.8% 0.99x(?)
PrefixAnySeqCntRangeLazy 115 116 +0.9% 0.99x(?)
SuffixAnySeqCRangeIter 4955 4984 +0.6% 0.99x
SuperChars 294492 296813 +0.8% 0.99x(?)
DropWhileAnyCollectionLazy 86 87 +1.2% 0.99x
ExistentialTestOneMethodCall_IntValueBuffer4 16670 16758 +0.5% 0.99x
StaticArray 165 166 +0.6% 0.99x(?)
PrefixAnySequenceLazy 6084 6143 +1.0% 0.99x
ObjectiveCBridgeFromNSSetAnyObject 64311 64808 +0.8% 0.99x(?)
StringHasPrefix 705 713 +1.1% 0.99x(?)
ObjectiveCBridgeToNSArray 28614 28896 +1.0% 0.99x(?)
ObjectiveCBridgeStubToNSDateRef 3382 3413 +0.9% 0.99x(?)
ExistentialTestMutating_IntValueBuffer3 21274 21558 +1.3% 0.99x
SuffixAnySequenceLazy 6587 6621 +0.5% 0.99x
StringMatch 43644 44254 +1.4% 0.99x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 78008 78676 +0.9% 0.99x
DictionaryRemoveOfObjects 23255 23373 +0.5% 0.99x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 546395 552286 +1.1% 0.99x
DropLastAnySeqCRangeIter 4630 4660 +0.7% 0.99x
ObjectiveCBridgeStubDataAppend 3660 3693 +0.9% 0.99x(?)
DropWhileAnySeqCRangeIter 22048 22185 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSString 1405 1414 +0.6% 0.99x(?)
HashTest 1735 1744 +0.5% 0.99x
PrefixAnyCollection 126 127 +0.8% 0.99x(?)
DeadArray 182 183 +0.6% 0.99x(?)
ExistentialTestOneMethodCall_ClassValueBuffer3 15153 15300 +1.0% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 28436 28685 +0.9% 0.99x(?)
ObjectiveCBridgeStubNSDataAppend 2268 2280 +0.5% 0.99x(?)
RecursiveOwnedParameter 2320 2357 +1.6% 0.98x
SuffixAnyCollection 52 53 +1.9% 0.98x(?)
StringUTF16Builder 2131 2182 +2.4% 0.98x(?)
ExistentialTestOneMethodCall_IntValueBuffer3 15154 15505 +2.3% 0.98x
DropLastAnySequence 6720 6888 +2.5% 0.98x(?)
Join 448 459 +2.5% 0.98x
ExistentialTestMutating_IntValueBuffer2 18424 18892 +2.5% 0.98x
CStringLongAscii 13783 14083 +2.2% 0.98x
Calculator 42 43 +2.4% 0.98x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 250033 256095 +2.4% 0.98x
StringBuilder 1345 1376 +2.3% 0.98x
ObjectiveCBridgeToNSDictionary 59594 60753 +1.9% 0.98x(?)
RGBHistogram 2483 2524 +1.6% 0.98x(?)
CStringLongNonAscii 4089 4177 +2.1% 0.98x
ExistentialTestOneMethodCall_ClassValueBuffer1 15154 15438 +1.9% 0.98x
ObjectiveCBridgeStubFromNSDate 3674 3750 +2.1% 0.98x
ObjectiveCBridgeFromNSStringForced 2331 2374 +1.8% 0.98x(?)
PrefixAnySeqCntRange 115 117 +1.7% 0.98x
StringWithCString 324543 335288 +3.3% 0.97x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 7803 8056 +3.2% 0.97x
ExistentialTestOneMethodCall_IntValueBuffer1 15153 15618 +3.1% 0.97x
SetUnion 2363 2425 +2.6% 0.97x(?)
DropLastAnySequenceLazy 6564 6762 +3.0% 0.97x
PrefixWhileAnySeqCRangeIter 12576 13164 +4.7% 0.96x
SortStrings 1686 1765 +4.7% 0.96x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 7765 8049 +3.7% 0.96x
ExistentialTestOneMethodCall_IntValueBuffer0 15153 15783 +4.2% 0.96x
Phonebook 7411 7695 +3.8% 0.96x
ExistentialTestTwoMethodCalls_IntValueBuffer1 29340 30520 +4.0% 0.96x(?)
ExistentialTestArrayShift_IntValueBuffer4 3312 3504 +5.8% 0.95x
ExistentialTestArrayShift_IntValueBuffer2 3335 3500 +5.0% 0.95x
ExistentialTestArrayShift_IntValueBuffer1 3311 3502 +5.8% 0.95x
ExistentialTestArrayShift_IntValueBuffer0 3307 3497 +5.8% 0.95x
ExistentialTestArrayOneMethodCall_IntValueBuffer3 5622 5937 +5.6% 0.95x
SortSortedStrings 853 899 +5.4% 0.95x
Hanoi 3413 3584 +5.0% 0.95x
SuffixAnySequence 6703 7091 +5.8% 0.95x
ExistentialTestArrayShift_ClassValueBuffer2 3339 3499 +4.8% 0.95x
ExistentialTestArrayShift_ClassValueBuffer1 3311 3503 +5.8% 0.95x
ExistentialTestMutating_ClassValueBuffer2 18189 19199 +5.5% 0.95x
ExistentialTestMutating_ClassValueBuffer3 18187 19199 +5.6% 0.95x
ExistentialTestMutating_ClassValueBuffer1 18188 19186 +5.5% 0.95x
**Unoptimized (Onone)**
Regression (3)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasPrefix 1547 1668 +7.8% 0.93x
Calculator 1049 1115 +6.3% 0.94x
ObjectiveCBridgeStubDateMutation 515 548 +6.4% 0.94x
Improvement (15)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ExistentialTestMutating_IntValueBuffer0 42430 40152 -5.4% 1.06x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 198699 187708 -5.5% 1.06x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 133663 125176 -6.3% 1.07x
ObjectiveCBridgeStubURLAppendPath 229438 213995 -6.7% 1.07x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 106979 99668 -6.8% 1.07x(?)
ExistentialTestOneMethodCall_IntValueBuffer1 42437 39776 -6.3% 1.07x
ExistentialTestOneMethodCall_IntValueBuffer3 44372 40919 -7.8% 1.08x
ExistentialTestTwoMethodCalls_IntValueBuffer2 87817 80916 -7.9% 1.09x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 140541 127895 -9.0% 1.10x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 139035 126677 -8.9% 1.10x
ExistentialTestTwoMethodCalls_IntValueBuffer0 80487 72948 -9.4% 1.10x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 134470 120068 -10.7% 1.12x
ExistentialTestOneMethodCall_IntValueBuffer0 43950 39404 -10.3% 1.12x
ExistentialTestOneMethodCall_IntValueBuffer2 43948 39409 -10.3% 1.12x
StringHasSuffix 1762 1546 -12.3% 1.14x
No Changes (349)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubURLAppendPathRef 229417 218960 -4.6% 1.05x
ProtocolDispatch 7233 6904 -4.5% 1.05x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 196972 187500 -4.8% 1.05x
DropWhileAnySeqCntRange 25601 24717 -3.5% 1.04x
ExistentialTestOneMethodCall_IntValueBuffer4 45873 43949 -4.2% 1.04x
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 92038 88746 -3.6% 1.04x
ArrayAppendSequence 76650 74576 -2.7% 1.03x
ObjectiveCBridgeFromNSSetAnyObjectToString 87868 85422 -2.8% 1.03x(?)
ObjectiveCBridgeStubDateAccess 1056 1030 -2.5% 1.03x
SuffixAnySeqCntRange 6509 6410 -1.5% 1.02x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 256692 251245 -2.1% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 28989 28489 -1.7% 1.02x(?)
ExistentialTestMutating_ClassValueBuffer1 231803 227411 -1.9% 1.02x
StrToInt 8031 7905 -1.6% 1.02x
DropWhileCountableRange 6228 6121 -1.7% 1.02x(?)
DropWhileSequenceLazy 11369 11139 -2.0% 1.02x
SortStrings 2767 2700 -2.4% 1.02x
ExistentialTestMutating_IntValueBuffer1 100254 98420 -1.8% 1.02x
Dictionary 1979 1942 -1.9% 1.02x(?)
SetExclusiveOr 21342 20975 -1.7% 1.02x
ExistentialTestTwoMethodCalls_IntValueBuffer3 96305 94245 -2.1% 1.02x
ExistentialTestTwoMethodCalls_IntValueBuffer1 79351 77481 -2.4% 1.02x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 110340 108636 -1.5% 1.02x(?)
DropWhileAnySeqCRangeIterLazy 27619 27164 -1.6% 1.02x(?)
StringWalk 21745 21305 -2.0% 1.02x
ObjectiveCBridgeStubNSDataAppend 2715 2656 -2.2% 1.02x(?)
SevenBoom 1640 1615 -1.5% 1.02x
ObjectiveCBridgeStubToNSString 1582 1570 -0.8% 1.01x
PrefixWhileAnyCollectionLazy 22619 22319 -1.3% 1.01x(?)
PrefixAnySequenceLazy 11774 11704 -0.6% 1.01x(?)
ObjectiveCBridgeToNSArray 30046 29745 -1.0% 1.01x(?)
SetIsSubsetOf 1645 1628 -1.0% 1.01x(?)
ObjectiveCBridgeStubNSDateRefAccess 1217 1208 -0.7% 1.01x
DropWhileCountableRangeLazy 26398 26095 -1.1% 1.01x(?)
ArrayAppendRepeatCol 213136 210119 -1.4% 1.01x
MonteCarloE 135122 134344 -0.6% 1.01x
StringHasPrefixUnicode 15867 15779 -0.6% 1.01x(?)
PrefixWhileCountableRangeLazy 21968 21679 -1.3% 1.01x(?)
PrefixWhileAnySequence 30049 29686 -1.2% 1.01x
ByteSwap 271 267 -1.5% 1.01x
DropLastAnySeqCntRange 6487 6409 -1.2% 1.01x(?)
DropLastAnySeqCntRangeLazy 6389 6335 -0.8% 1.01x(?)
ObserverClosure 6733 6689 -0.7% 1.01x
ArrayPlusEqualSingleElementCollection 276579 274946 -0.6% 1.01x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 510451 507258 -0.6% 1.01x
PopFrontArrayGeneric 8968 8885 -0.9% 1.01x
ExistentialTestMutating_IntValueBuffer2 168187 167065 -0.7% 1.01x
NSDictionaryCastToSwift 6450 6358 -1.4% 1.01x(?)
ObjectiveCBridgeFromNSString 4045 4006 -1.0% 1.01x(?)
DropFirstAnySeqCRangeIterLazy 29693 29472 -0.7% 1.01x
ExistentialTestTwoMethodCalls_IntValueBuffer4 110336 109591 -0.7% 1.01x(?)
SortStringsUnicode 9332 9220 -1.2% 1.01x
PrefixWhileAnySeqCRangeIter 41125 40658 -1.1% 1.01x(?)
DropFirstCountableRange 341 339 -0.6% 1.01x
ReversedDictionary 25451 25220 -0.9% 1.01x(?)
DropFirstAnySeqCRangeIter 29902 29658 -0.8% 1.01x(?)
Dictionary2 4057 4026 -0.8% 1.01x(?)
SetIntersect 10725 10666 -0.6% 1.01x
DropWhileAnySeqCntRangeLazy 27157 26994 -0.6% 1.01x(?)
SuffixAnySeqCntRangeLazy 6381 6333 -0.8% 1.01x
PrefixWhileCountableRange 17848 17607 -1.4% 1.01x
ObjectiveCBridgeToNSString 1322 1309 -1.0% 1.01x
DictionarySwapOfObjects 19414 19317 -0.5% 1.01x(?)
StringBuilderLong 1135 1122 -1.1% 1.01x
PrefixAnySeqCntRangeLazy 19091 18935 -0.8% 1.01x
DropFirstAnySeqCntRangeLazy 19094 18975 -0.6% 1.01x
PopFrontUnsafePointer 99040 97600 -1.4% 1.01x(?)
PrefixWhileAnySeqCRangeIterLazy 22675 22368 -1.4% 1.01x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 429233 424931 -1.0% 1.01x
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 224364 222376 -0.9% 1.01x
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 295199 293333 -0.6% 1.01x
DropWhileAnyCollectionLazy 27249 26978 -1.0% 1.01x
SuffixAnySeqCRangeIterLazy 41626 41416 -0.5% 1.01x(?)
StringHasSuffixUnicode 63554 63191 -0.6% 1.01x
SetUnion 12003 11874 -1.1% 1.01x(?)
PrefixWhileAnySeqCntRangeLazy 22478 22325 -0.7% 1.01x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 384196 382244 -0.5% 1.01x(?)
Dictionary2OfObjects 6429 6340 -1.4% 1.01x
ArraySubscript 4179 4168 -0.3% 1.00x(?)
PrefixSequenceLazy 10724 10724 +0.0% 1.00x
PrefixWhileArray 16966 16967 +0.0% 1.00x(?)
Histogram 8699 8686 -0.1% 1.00x(?)
SortLettersInPlace 2817 2827 +0.3% 1.00x(?)
PrefixAnyCollection 19100 19095 -0.0% 1.00x(?)
TypeFlood 166 166 +0.0% 1.00x
SetIntersect_OfObjects 11146 11170 +0.2% 1.00x
ArrayOfRef 8586 8604 +0.2% 1.00x(?)
PrefixSequence 10809 10759 -0.5% 1.00x
PrefixCountableRange 341 341 +0.0% 1.00x
DictionaryOfObjects 4876 4892 +0.3% 1.00x(?)
IterateData 12874 12888 +0.1% 1.00x
UTF8Decode 37017 37079 +0.2% 1.00x
SuffixAnySequenceLazy 26820 26817 -0.0% 1.00x(?)
NopDeinit 50297 50302 +0.0% 1.00x(?)
PrefixWhileArrayLazy 14687 14646 -0.3% 1.00x
ExistentialTestMutating_ClassValueBuffer3 230505 230311 -0.1% 1.00x
RGBHistogramOfObjects 98313 98043 -0.3% 1.00x(?)
SetExclusiveOr_OfObjects 41237 41221 -0.0% 1.00x(?)
DropWhileArrayLazy 16882 16874 -0.1% 1.00x(?)
SetUnion_OfObjects 29748 29722 -0.1% 1.00x(?)
PrefixWhileSequence 28546 28478 -0.2% 1.00x
ArrayAppendToGeneric 660 659 -0.1% 1.00x(?)
Walsh 11816 11838 +0.2% 1.00x(?)
HashQuadratic 47928652 47915724 -0.0% 1.00x(?)
ArrayAppendFromGeneric 660 658 -0.3% 1.00x
SuffixCountableRange 118 118 +0.0% 1.00x
ReversedBidirectional 142244 142304 +0.0% 1.00x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 145166 144980 -0.1% 1.00x(?)
SuffixSequenceLazy 26429 26454 +0.1% 1.00x
DropFirstAnyCollection 19124 19076 -0.2% 1.00x(?)
BitCount 878 878 +0.0% 1.00x
AngryPhonebook 3075 3062 -0.4% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer1 220071 220084 +0.0% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer3 375409 375533 +0.0% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer2 300049 300049 +0.0% 1.00x
SuffixSequence 26418 26403 -0.1% 1.00x
ArrayValueProp 3022 3032 +0.3% 1.00x(?)
MapReduceClass 42858 42934 +0.2% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
ObserverPartiallyAppliedMethod 8120 8095 -0.3% 1.00x(?)
MonteCarloPi 52689 52665 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 125114 125078 -0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44599 44766 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7531 7498 -0.4% 1.00x(?)
DropLastAnySeqCRangeIterLazy 43806 43818 +0.0% 1.00x(?)
ReversedArray 588 588 +0.0% 1.00x
DropLastSequenceLazy 28718 28762 +0.1% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 804933 801571 -0.4% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 649286 647031 -0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 142146 142833 +0.5% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 132248 132641 +0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 132542 132818 +0.2% 1.00x
DropFirstArray 6322 6326 +0.1% 1.00x(?)
SuperChars 318127 317296 -0.3% 1.00x
StringInterpolation 14640 14709 +0.5% 1.00x(?)
CharacterLiteralsSmall 970 970 +0.0% 1.00x
LazilyFilteredRange 1269365 1264266 -0.4% 1.00x
DropLastAnyCollection 6397 6389 -0.1% 1.00x(?)
ArrayAppendLatin1 97911 97505 -0.4% 1.00x
PrefixAnySeqCRangeIterLazy 24009 23906 -0.4% 1.00x(?)
Join 1337 1340 +0.2% 1.00x(?)
ArrayPlusEqualArrayOfInt 656 657 +0.1% 1.00x(?)
ExistentialTestMutating_IntValueBuffer3 238081 238331 +0.1% 1.00x
ExistentialTestMutating_IntValueBuffer4 337743 336351 -0.4% 1.00x
PrefixWhileSequenceLazy 10420 10435 +0.1% 1.00x
ArrayOfGenericPOD 3075 3076 +0.0% 1.00x(?)
MapReduceLazySequence 25349 25476 +0.5% 1.00x
DictionaryRemove 21046 21020 -0.1% 1.00x
RGBHistogram 33405 33431 +0.1% 1.00x(?)
TwoSum 4290 4294 +0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 931804 933605 +0.2% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 1255041 1253883 -0.1% 1.00x
RecursiveOwnedParameter 9627 9639 +0.1% 1.00x
SuffixAnyCollection 6430 6414 -0.2% 1.00x(?)
PrefixAnyCollectionLazy 137918 138087 +0.1% 1.00x(?)
Prims 8963 8959 -0.0% 1.00x(?)
ArrayAppendToFromGeneric 658 658 +0.0% 1.00x
PopFrontArray 9952 9946 -0.1% 1.00x
MapReduceLazyCollectionShort 44151 44028 -0.3% 1.00x(?)
ArrayAppendGenericStructs 1307 1303 -0.3% 1.00x(?)
ArrayPlusEqualFiveElementCollection 279585 278948 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSStringRef 208 209 +0.5% 1.00x(?)
StaticArray 4558 4538 -0.4% 1.00x
StringEdits 826123 827624 +0.2% 1.00x(?)
366 94018469 94020578 +0.0% 1.00x
Dictionary3 1496 1492 -0.3% 1.00x(?)
StrComplexWalk 5974 5982 +0.1% 1.00x(?)
DropFirstSequence 12897 12905 +0.1% 1.00x(?)
StringEqualPointerComparison 9763 9767 +0.0% 1.00x(?)
CaptureProp 107216 106826 -0.4% 1.00x(?)
ClassArrayGetter 932 932 +0.0% 1.00x
DictionaryLiteral 13161 13138 -0.2% 1.00x(?)
Hanoi 16695 16766 +0.4% 1.00x(?)
DictionaryRemoveOfObjects 55080 54859 -0.4% 1.00x(?)
PrefixWhileAnySeqCntRange 36461 36370 -0.2% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 1321648 1321801 +0.0% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 2206331 2210028 +0.2% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 1753813 1752741 -0.1% 1.00x
LazilyFilteredArrays 2715939 2724545 +0.3% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 1916461 1918612 +0.1% 1.00x(?)
DropLastAnySeqCRangeIter 43721 43905 +0.4% 1.00x(?)
StringBuilder 2846 2854 +0.3% 1.00x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer3 855688 857994 +0.3% 1.00x
ExistentialTestTwoMethodCalls_ClassValueBuffer1 555410 554838 -0.1% 1.00x
ExistentialTestTwoMethodCalls_ClassValueBuffer4 888699 890604 +0.2% 1.00x
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 159357 159626 +0.2% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 197773 198479 +0.4% 1.00x
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 177576 177787 +0.1% 1.00x
DropWhileAnySequence 16279 16325 +0.3% 1.00x
LinkedList 33273 33245 -0.1% 1.00x(?)
MapReduceAnyCollection 37675 37774 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 76235 76252 +0.0% 1.00x(?)
MapReduceLazyCollection 32781 32715 -0.2% 1.00x
DropFirstAnyCollectionLazy 136433 136756 +0.2% 1.00x(?)
ArrayOfPOD 1832 1833 +0.1% 1.00x
Chars 7374 7379 +0.1% 1.00x(?)
DropWhileSequence 15350 15289 -0.4% 1.00x
RC4 19794 19738 -0.3% 1.00x(?)
ArrayValueProp4 3337 3339 +0.1% 1.00x(?)
ArrayValueProp2 3640 3629 -0.3% 1.00x(?)
ArrayValueProp3 3431 3446 +0.4% 1.00x
DropLastSequence 28691 28755 +0.2% 1.00x
StackPromo 99539 99225 -0.3% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 651701 648961 -0.4% 1.00x
Integrate 399 398 -0.2% 1.00x
PrefixAnySequence 11765 11791 +0.2% 1.00x
DropLastAnyCollectionLazy 46117 45961 -0.3% 1.00x(?)
Array2D 605308 603745 -0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 238108 237782 -0.1% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 261292 262060 +0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 231224 231551 +0.1% 1.00x
PrefixAnySeqCRangeIter 23968 23934 -0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer4 133958 134283 +0.2% 1.00x
ObjectiveCBridgeFromNSStringForced 2744 2738 -0.2% 1.00x(?)
DropWhileAnySequenceLazy 12447 12415 -0.3% 1.00x
DropWhileAnyCollection 24850 24806 -0.2% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 681433 682692 +0.2% 1.00x
Dictionary3OfObjects 2348 2348 +0.0% 1.00x
XorLoop 23735 23707 -0.1% 1.00x(?)
DropFirstSequenceLazy 12878 12863 -0.1% 1.00x(?)
ArrayAppendStrings 13580 13630 +0.4% 1.00x(?)
RangeAssignment 5744 5751 +0.1% 1.00x(?)
ObjectAllocation 632 631 -0.2% 1.00x(?)
SortSortedStrings 1410 1405 -0.3% 1.00x
ProtocolDispatch2 490 489 -0.2% 1.00x
MapReduceAnyCollectionShort 49907 49896 -0.0% 1.00x(?)
ObjectiveCBridgeStubToNSStringRef 148 148 +0.0% 1.00x
MapReduceSequence 41163 41132 -0.1% 1.00x(?)
MapReduceShort 49655 49794 +0.3% 1.00x(?)
ArrayAppendUTF16 95965 95756 -0.2% 1.00x
MapReduceClassShort 53873 53958 +0.2% 1.00x(?)
DropWhileAnySeqCRangeIter 31854 31824 -0.1% 1.00x
Sim2DArray 30044 30022 -0.1% 1.00x(?)
HashTest 18352 18421 +0.4% 1.00x(?)
ObjectiveCBridgeToNSSet 37650 37776 +0.3% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 240937 240790 -0.1% 1.00x(?)
ArrayAppendArrayOfInt 655 655 +0.0% 1.00x
DropFirstAnySeqCntRange 19190 19174 -0.1% 1.00x(?)
PolymorphicCalls 2909 2918 +0.3% 1.00x
ObserverForwarderStruct 4713 4709 -0.1% 1.00x(?)
DropLastAnySequenceLazy 29256 29184 -0.2% 1.00x
DeadArray 123866 124252 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38920 39052 +0.3% 1.00x(?)
DropWhileArray 9924 9924 +0.0% 1.00x
DropFirstAnySequence 14063 14000 -0.5% 1.00x
Memset 44003 43994 -0.0% 1.00x(?)
ArrayAppendReserved 3546 3541 -0.1% 1.00x
DropFirstAnySequenceLazy 14042 13974 -0.5% 1.00x
DropFirstCountableRangeLazy 38658 38911 +0.7% 0.99x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer3 424055 430487 +1.5% 0.99x
ExistentialTestArrayConditionalShift_ClassValueBuffer2 383397 389161 +1.5% 0.99x
ExistentialTestArrayConditionalShift_ClassValueBuffer4 358840 363970 +1.4% 0.99x
ObjectiveCBridgeStubFromNSString 956 966 +1.1% 0.99x(?)
SuffixAnySequence 26829 27066 +0.9% 0.99x
CStringShortAscii 9304 9444 +1.5% 0.99x(?)
ArrayOfGenericRef 9662 9807 +1.5% 0.99x(?)
ArrayAppendAscii 79679 80093 +0.5% 0.99x
SuffixArrayLazy 15000 15163 +1.1% 0.99x(?)
PrefixAnySeqCntRange 19166 19330 +0.9% 0.99x
DropLastAnySequence 29152 29317 +0.6% 0.99x
DictionarySwap 5397 5431 +0.6% 0.99x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 132600 133946 +1.0% 0.99x(?)
StringUTF16Builder 3648 3673 +0.7% 0.99x(?)
PrefixCountableRangeLazy 38571 38913 +0.9% 0.99x(?)
SuffixAnySeqCRangeIter 41128 41422 +0.7% 0.99x(?)
ArrayAppendLazyMap 208397 211471 +1.5% 0.99x
ObserverUnappliedMethod 8583 8689 +1.2% 0.99x(?)
Phonebook 21777 22063 +1.3% 0.99x(?)
DropFirstArrayLazy 44958 45456 +1.1% 0.99x
ExistentialTestArrayMutating_IntValueBuffer4 132442 133886 +1.1% 0.99x
ExistentialTestArrayMutating_IntValueBuffer3 120430 121670 +1.0% 0.99x
ExistentialTestArrayMutating_IntValueBuffer2 111415 112852 +1.3% 0.99x
ExistentialTestArrayMutating_IntValueBuffer1 106246 107424 +1.1% 0.99x
ExistentialTestArrayMutating_IntValueBuffer0 101078 102311 +1.2% 0.99x
CStringLongNonAscii 4412 4474 +1.4% 0.99x
ArrayLiteral 1480 1489 +0.6% 0.99x(?)
DropLastCountableRange 118 119 +0.8% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 28470 28901 +1.5% 0.99x(?)
ExistentialTestArrayShift_IntValueBuffer4 176465 179110 +1.5% 0.99x
ExistentialTestArrayShift_IntValueBuffer3 179516 182080 +1.4% 0.99x
ExistentialTestArrayShift_IntValueBuffer1 178910 181241 +1.3% 0.99x
ExistentialTestArrayShift_IntValueBuffer0 177779 180167 +1.3% 0.99x
ExistentialTestArrayMutating_ClassValueBuffer2 122941 124468 +1.2% 0.99x
ExistentialTestArrayMutating_ClassValueBuffer3 122913 124379 +1.2% 0.99x
ExistentialTestArrayMutating_ClassValueBuffer1 122961 124344 +1.1% 0.99x
ExistentialTestArrayMutating_ClassValueBuffer4 125056 126342 +1.0% 0.99x
ArrayAppendOptionals 1310 1319 +0.7% 0.99x(?)
DropLastArray 2115 2144 +1.4% 0.99x
StringMatch 98541 99533 +1.0% 0.99x
PrefixArrayLazy 44974 45435 +1.0% 0.99x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer2 699041 704211 +0.7% 0.99x
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 175755 176815 +0.6% 0.99x
MapReduce 37623 37838 +0.6% 0.99x(?)
DropLastArrayLazy 14998 15190 +1.3% 0.99x
AnyHashableWithAClass 85284 85884 +0.7% 0.99x(?)
PrefixWhileAnySequenceLazy 11236 11369 +1.2% 0.99x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 202032 203368 +0.7% 0.99x
MapReduceString 2593 2611 +0.7% 0.99x
PrefixWhileAnyCollection 36269 36507 +0.7% 0.99x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer0 127529 128401 +0.7% 0.99x
ExistentialTestArrayOneMethodCall_IntValueBuffer1 127875 128867 +0.8% 0.99x
ExistentialTestArrayOneMethodCall_IntValueBuffer2 128258 129262 +0.8% 0.99x
ExistentialTestArrayOneMethodCall_IntValueBuffer3 128559 129627 +0.8% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7806 7880 +0.9% 0.99x(?)
PrefixArray 6318 6409 +1.4% 0.99x
ObjectiveCBridgeFromNSSetAnyObject 67624 68396 +1.1% 0.99x(?)
ErrorHandling 3849 3874 +0.7% 0.99x(?)
NSError 721 727 +0.8% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 25551 25724 +0.7% 0.99x(?)
ExistentialTestArrayShift_ClassValueBuffer4 176441 179047 +1.5% 0.99x
ExistentialTestArrayShift_ClassValueBuffer2 178720 180624 +1.1% 0.99x
ExistentialTestArrayShift_ClassValueBuffer3 179494 182065 +1.4% 0.99x(?)
ExistentialTestArrayShift_ClassValueBuffer1 178915 181258 +1.3% 0.99x
ObjectiveCBridgeStubDataAppend 3678 3734 +1.5% 0.99x(?)
SuffixAnyCollectionLazy 45306 45799 +1.1% 0.99x(?)
SuffixArray 2115 2144 +1.4% 0.99x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 218828 220022 +0.6% 0.99x
ExistentialTestArrayConditionalShift_ClassValueBuffer1 343693 349417 +1.7% 0.98x(?)
ObjectiveCBridgeStubToNSDateRef 3383 3436 +1.6% 0.98x(?)
ExistentialTestMutating_ClassValueBuffer2 229793 234621 +2.1% 0.98x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 133327 136634 +2.5% 0.98x
CharacterLiteralsLarge 14155 14425 +1.9% 0.98x(?)
CStringLongAscii 16154 16551 +2.5% 0.98x
MapReduceShortString 274 279 +1.8% 0.98x
ObjectiveCBridgeToNSDictionary 60035 61072 +1.7% 0.98x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 937440 958727 +2.3% 0.98x
ObjectiveCBridgeStubFromNSDate 3855 3923 +1.8% 0.98x
ExistentialTestArrayShift_IntValueBuffer2 178704 183176 +2.5% 0.98x
DictionaryBridge 2725 2785 +2.2% 0.98x(?)
StringWithCString 328339 334144 +1.8% 0.98x
SuffixCountableRangeLazy 12612 12871 +2.0% 0.98x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer4 315423 321149 +1.8% 0.98x
ExistentialTestArrayConditionalShift_IntValueBuffer0 288163 293910 +2.0% 0.98x
ExistentialTestArrayConditionalShift_IntValueBuffer1 289665 295456 +2.0% 0.98x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer2 288642 294464 +2.0% 0.98x
ExistentialTestArrayConditionalShift_IntValueBuffer3 289680 295154 +1.9% 0.98x
DropLastCountableRangeLazy 12624 12872 +2.0% 0.98x
NSStringConversion 1313 1340 +2.1% 0.98x
ObjectiveCBridgeStubFromNSDateRef 3851 3954 +2.7% 0.97x
ObjectiveCBridgeStubToNSDate 14731 15241 +3.5% 0.97x(?)
OpenClose 403 414 +2.7% 0.97x
ExistentialTestOneMethodCall_ClassValueBuffer4 359372 369290 +2.8% 0.97x(?)
ArrayAppend 3803 3938 +3.5% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectForced 6990 7183 +2.8% 0.97x(?)
ObjectiveCBridgeStubNSDateMutationRef 15277 15689 +2.7% 0.97x(?)
StringAdder 48 50 +4.2% 0.96x
ArrayInClass 4734 4922 +4.0% 0.96x
SetIsSubsetOf_OfObjects 1518 1578 +4.0% 0.96x(?)
ExistentialTestMutating_ClassValueBuffer4 249767 263802 +5.6% 0.95x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i5 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 16 GB

@swiftix swiftix merged commit f6b8b7d into swiftlang:master Apr 21, 2017
@eeckstein
Copy link
Contributor

cool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants