Skip to content

[benchmark] CheckResults with auto-generated error message #9330

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 2 commits into from
May 12, 2017

Conversation

palimondo
Copy link
Contributor

In order to minimize impact of results checking on test performance, this removes the @autoclosure for error message.

Added new version of CheckResults that takes only resultsMatch: Bool - rest of the parameters are defaulted to StaticStrings for method and file name, plus line number. Old method was deprecated, but left in place as tool for debugging failing checks. All tests were move to use the new method.

Design: I assume that StaticString is passed to CheckResults as a direct reference, without any retain/release overhead that would impact the measurements. The method is also marked to @inline(__always).

This is a followup to @dabrahams' experiment in #9298.

Please review. cc @eeckstein, @slavapestov, @gottesmm

In order to minimize impact of results checking on test performance, this removes the @autoclosure for error message.

Added new version of `CheckResults` that takes only `resultsMatch: Bool` - rest of the parameters are defaulted to `StaticString`s for method and file name, plus line number. Old method was deprecated, but left in place as tool for debugging failing checks. All tests were move to use the new method.
@palimondo palimondo changed the title [benchmark] CheckResults with auto-generated error message [benchmark] CheckResults with auto-generated error message May 5, 2017
@dabrahams
Copy link
Contributor

@swift-ci Please smoke benchmark

@dabrahams
Copy link
Contributor

Design: I assume that StaticString is passed to CheckResults as a direct reference, without any retain/release overhead that would impact the measurements. The method is also marked to @inline(__always).

@palimondo: Please don't assume anything; instead run the benchmarks locally with and without your calls to checkResults and ensure that they are not having any significant impact on timing. Note also that this needs to be the case for -Onone as well as -O. I don't personally care about -Ounchecked performance, though others might, but if the -O results are acceptable -Ounchecked is very unlikely to be different.

@palimondo
Copy link
Contributor Author

@dabrahams I’m assuming in a sense that that’s what makes theoretical sense to me without being familiar with the details of the StaticString implementation. I was hoping someone with knowledge about that will chime in…
BTW It takes over 4 hours for me to get a build on my Late 2008 MacBook Pro.

@swift-ci
Copy link
Contributor

swift-ci commented May 5, 2017

Build comment file:

Optimized (O)

Regression (19)
TEST OLD NEW DELTA SPEEDUP
DropFirstCountableRangeLazy 23 32 +39.1% 0.72x
PrefixWhileCountableRangeLazy 23 32 +39.1% 0.72x
DropFirstCountableRange 23 32 +39.1% 0.72x
PrefixCountableRangeLazy 23 32 +39.1% 0.72x
PrefixCountableRange 23 32 +39.1% 0.72x
SuffixCountableRangeLazy 8 10 +25.0% 0.80x
DropLastCountableRangeLazy 8 10 +25.0% 0.80x
SuffixCountableRange 8 10 +25.0% 0.80x
DropLastCountableRange 8 10 +25.0% 0.80x
DropLastSequenceLazy 523 597 +14.1% 0.88x
DropLastSequence 524 595 +13.5% 0.88x
ProtocolDispatch 2727 3031 +11.1% 0.90x
Chars 1784 1929 +8.1% 0.92x
ObjectiveCBridgeStubNSDateRefAccess 322 346 +7.5% 0.93x
DropWhileAnyCollectionLazy 96 103 +7.3% 0.93x
DropWhileAnySeqCntRangeLazy 96 103 +7.3% 0.93x
DropWhileAnySeqCRangeIterLazy 96 103 +7.3% 0.93x
OpenClose 48 51 +6.2% 0.94x
PrefixWhileCountableRange 35 37 +5.7% 0.95x
Improvement (37)
TEST OLD NEW DELTA SPEEDUP
StringHasSuffix 798 33 -95.9% 24.18x
StringHasPrefix 717 33 -95.4% 21.73x
DropLastAnySeqCntRange 40 16 -60.0% 2.50x
DropLastAnySeqCntRangeLazy 40 16 -60.0% 2.50x
SuffixAnySeqCntRangeLazy 40 16 -60.0% 2.50x
SuffixAnySeqCntRange 40 16 -60.0% 2.50x
SuffixAnyCollection 52 22 -57.7% 2.36x
PrefixAnySeqCntRangeLazy 116 50 -56.9% 2.32x
DropFirstAnySeqCntRange 116 50 -56.9% 2.32x
PrefixAnySeqCntRange 116 50 -56.9% 2.32x
DropFirstAnySeqCntRangeLazy 115 50 -56.5% 2.30x
PrefixAnyCollection 127 56 -55.9% 2.27x
DropLastAnyCollection 52 23 -55.8% 2.26x
DropFirstAnyCollection 127 57 -55.1% 2.23x
DropWhileAnySeqCntRange 128 64 -50.0% 2.00x
DropWhileAnyCollection 134 70 -47.8% 1.91x
PrefixWhileAnySeqCntRange 155 90 -41.9% 1.72x
PrefixWhileAnyCollection 160 96 -40.0% 1.67x
PrefixWhileSequenceLazy 39 28 -28.2% 1.39x
PrefixArrayLazy 33 24 -27.3% 1.37x
SuffixArrayLazy 11 8 -27.3% 1.37x
DropLastArrayLazy 11 8 -27.3% 1.37x
SuffixArray 11 8 -27.3% 1.37x
StrComplexWalk 982 719 -26.8% 1.37x
PrefixWhileSequence 398 314 -21.1% 1.27x
DropLastArray 10 8 -20.0% 1.25x
PrefixArray 29 24 -17.2% 1.21x
PrefixWhileArrayLazy 58 49 -15.5% 1.18x
DropWhileArray 43 37 -14.0% 1.16x
DropWhileCountableRangeLazy 79 68 -13.9% 1.16x
DropFirstArray 29 25 -13.8% 1.16x
DropFirstArrayLazy 29 25 -13.8% 1.16x
ClassArrayGetter 14 13 -7.1% 1.08x
IterateData 758 706 -6.9% 1.07x
PrefixWhileArray 66 62 -6.1% 1.06x
PrefixWhileAnySequenceLazy 1587 1492 -6.0% 1.06x
RC4 169 160 -5.3% 1.06x
No Changes (213)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2914 2915 +0.0% 1.00x (?)
AnyHashableWithAClass 68051 66647 -2.1% 1.02x (?)
Array2D 2021 2024 +0.1% 1.00x (?)
ArrayAppend 772 770 -0.3% 1.00x (?)
ArrayAppendArrayOfInt 596 596 +0.0% 1.00x
ArrayAppendAscii 22115 23172 +4.8% 0.95x
ArrayAppendFromGeneric 596 596 +0.0% 1.00x
ArrayAppendGenericStructs 1220 1237 +1.4% 0.99x (?)
ArrayAppendLatin1 43310 43370 +0.1% 1.00x
ArrayAppendLazyMap 937 936 -0.1% 1.00x
ArrayAppendOptionals 1220 1222 +0.2% 1.00x (?)
ArrayAppendRepeatCol 837 837 +0.0% 1.00x
ArrayAppendReserved 534 534 +0.0% 1.00x
ArrayAppendSequence 945 947 +0.2% 1.00x
ArrayAppendStrings 13505 13540 +0.3% 1.00x (?)
ArrayAppendToFromGeneric 596 597 +0.2% 1.00x
ArrayAppendToGeneric 596 596 +0.0% 1.00x
ArrayAppendUTF16 41244 41168 -0.2% 1.00x
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1222 1225 +0.2% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 3993 3994 +0.0% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3933 3917 -0.4% 1.00x (?)
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4679 4679 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 771 772 +0.1% 1.00x
ArrayPlusEqualThreeElements 1608 1623 +0.9% 0.99x (?)
ArraySubscript 1490 1492 +0.1% 1.00x
ArrayValueProp 6 6 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
BitCount 0 0 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 5105 5103 -0.0% 1.00x
CStringLongNonAscii 2141 2131 -0.5% 1.00x
CStringShortAscii 5320 5452 +2.5% 0.98x
Calculator 35 34 -2.9% 1.03x
CaptureProp 4559 4599 +0.9% 0.99x
CharacterLiteralsLarge 8813 8615 -2.2% 1.02x
CharacterLiteralsSmall 311 311 +0.0% 1.00x
DeadArray 188 187 -0.5% 1.01x
Dictionary 575 572 -0.5% 1.01x
Dictionary2 1819 1814 -0.3% 1.00x
Dictionary2OfObjects 3336 3335 -0.0% 1.00x (?)
Dictionary3 456 454 -0.4% 1.00x
Dictionary3OfObjects 896 900 +0.4% 1.00x (?)
DictionaryBridge 2640 2657 +0.6% 0.99x (?)
DictionaryLiteral 1482 1480 -0.1% 1.00x (?)
DictionaryOfObjects 2341 2337 -0.2% 1.00x
DictionaryRemove 3421 3308 -3.3% 1.03x
DictionaryRemoveOfObjects 23397 23416 +0.1% 1.00x (?)
DictionarySwap 418 424 +1.4% 0.99x
DictionarySwapOfObjects 7054 7009 -0.6% 1.01x (?)
DropFirstAnyCollectionLazy 45270 44882 -0.9% 1.01x
DropFirstAnySeqCRangeIter 28648 27696 -3.3% 1.03x (?)
DropFirstAnySeqCRangeIterLazy 27704 28166 +1.7% 0.98x
DropFirstAnySequence 6827 6800 -0.4% 1.00x
DropFirstAnySequenceLazy 6849 6788 -0.9% 1.01x
DropFirstSequence 3067 3065 -0.1% 1.00x
DropFirstSequenceLazy 3032 3030 -0.1% 1.00x
DropLastAnyCollectionLazy 14994 14947 -0.3% 1.00x (?)
DropLastAnySeqCRangeIter 4738 4725 -0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4631 4808 +3.8% 0.96x (?)
DropLastAnySequence 6901 6993 +1.3% 0.99x (?)
DropLastAnySequenceLazy 6836 6581 -3.7% 1.04x (?)
DropWhileAnySeqCRangeIter 22679 22650 -0.1% 1.00x (?)
DropWhileAnySequence 7610 7600 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 2109 2032 -3.7% 1.04x
DropWhileArrayLazy 80 78 -2.5% 1.03x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileSequence 3047 3027 -0.7% 1.01x
DropWhileSequenceLazy 67 65 -3.0% 1.03x
ErrorHandling 2994 2905 -3.0% 1.03x
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3441 3419 -0.6% 1.01x (?)
HashQuadratic 6365580 6370788 +0.1% 1.00x (?)
HashTest 1702 1697 -0.3% 1.00x
Histogram 282 279 -1.1% 1.01x
Integrate 262 262 +0.0% 1.00x
Join 442 442 +0.0% 1.00x
LazilyFilteredArrays 64735 64716 -0.0% 1.00x (?)
LazilyFilteredRange 3934 3893 -1.0% 1.01x
LinkedList 7053 7072 +0.3% 1.00x
MapReduce 332 332 +0.0% 1.00x
MapReduceAnyCollection 302 312 +3.3% 0.97x
MapReduceAnyCollectionShort 2009 2001 -0.4% 1.00x
MapReduceClass 3073 3054 -0.6% 1.01x
MapReduceClassShort 4593 4627 +0.7% 0.99x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 44 44 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 448 446 -0.4% 1.00x (?)
MapReduceShort 1910 1900 -0.5% 1.01x
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 112 108 -3.6% 1.04x
Memset 234 234 +0.0% 1.00x
MonteCarloE 10314 10386 +0.7% 0.99x
MonteCarloPi 44076 44003 -0.2% 1.00x
NSDictionaryCastToSwift 5374 5386 +0.2% 1.00x (?)
NSError 289 290 +0.3% 1.00x (?)
NSStringConversion 760 762 +0.3% 1.00x
NopDeinit 27434 27435 +0.0% 1.00x (?)
ObjectAllocation 181 181 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 24509 24674 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4575 4522 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45118 44171 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38600 38863 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121812 122035 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5189 5192 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 96764 98688 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 91696 93419 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 64384 64767 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4231 4206 -0.6% 1.01x
ObjectiveCBridgeFromNSSetAnyObjectToString 73516 75820 +3.1% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 64222 62332 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSString 1410 1426 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2353 2342 -0.5% 1.00x
ObjectiveCBridgeStubDataAppend 3795 3769 -0.7% 1.01x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29224 28706 -1.8% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 3754 3651 -2.7% 1.03x
ObjectiveCBridgeStubFromNSDateRef 3555 3581 +0.7% 0.99x
ObjectiveCBridgeStubFromNSString 952 915 -3.9% 1.04x
ObjectiveCBridgeStubFromNSStringRef 173 177 +2.3% 0.98x
ObjectiveCBridgeStubNSDataAppend 2337 2297 -1.7% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 12963 13136 +1.3% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 28983 28803 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSDate 14507 14848 +2.4% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3427 3433 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSString 1516 1516 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 108 -1.8% 1.02x
ObjectiveCBridgeStubURLAppendPath 217145 216731 -0.2% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 219285 217533 -0.8% 1.01x (?)
ObjectiveCBridgeToNSArray 29184 29632 +1.5% 0.98x (?)
ObjectiveCBridgeToNSDictionary 45481 45026 -1.0% 1.01x (?)
ObjectiveCBridgeToNSSet 39908 39458 -1.1% 1.01x (?)
ObjectiveCBridgeToNSString 1274 1274 +0.0% 1.00x
ObserverClosure 2306 2298 -0.3% 1.00x
ObserverForwarderStruct 1117 1141 +2.1% 0.98x
ObserverPartiallyAppliedMethod 3818 3832 +0.4% 1.00x
ObserverUnappliedMethod 2651 2644 -0.3% 1.00x
Phonebook 9651 9555 -1.0% 1.01x
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1072 1067 -0.5% 1.00x (?)
PopFrontArrayGeneric 1075 1069 -0.6% 1.01x
PopFrontUnsafePointer 8885 8854 -0.3% 1.00x
PrefixAnyCollectionLazy 45228 45122 -0.2% 1.00x (?)
PrefixAnySeqCRangeIter 22060 21918 -0.6% 1.01x (?)
PrefixAnySeqCRangeIterLazy 21961 21746 -1.0% 1.01x
PrefixAnySequence 6174 6196 +0.4% 1.00x
PrefixAnySequenceLazy 6120 6160 +0.7% 0.99x
PrefixSequence 2561 2527 -1.3% 1.01x
PrefixSequenceLazy 2600 2617 +0.7% 0.99x
PrefixWhileAnyCollectionLazy 77 75 -2.6% 1.03x
PrefixWhileAnySeqCRangeIter 12860 12897 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 77 75 -2.6% 1.03x
PrefixWhileAnySeqCntRangeLazy 77 75 -2.6% 1.03x
PrefixWhileAnySequence 14883 15019 +0.9% 0.99x (?)
Prims 765 764 -0.1% 1.00x (?)
ProtocolDispatch2 161 168 +4.3% 0.96x
RGBHistogram 2328 2328 +0.0% 1.00x
RGBHistogramOfObjects 24464 24504 +0.2% 1.00x (?)
RangeAssignment 297 305 +2.7% 0.97x (?)
RecursiveOwnedParameter 2325 2328 +0.1% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29159 29124 -0.1% 1.00x
ReversedDictionary 116 117 +0.9% 0.99x (?)
SetExclusiveOr 2947 2957 +0.3% 1.00x (?)
SetExclusiveOr_OfObjects 9575 9513 -0.6% 1.01x (?)
SetIntersect 273 281 +2.9% 0.97x
SetIntersect_OfObjects 1724 1719 -0.3% 1.00x
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2649 2604 -1.7% 1.02x (?)
SetUnion_OfObjects 8071 8092 +0.3% 1.00x (?)
SevenBoom 1468 1462 -0.4% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8368 8446 +0.9% 0.99x
SortLettersInPlace 1144 1144 +0.0% 1.00x
SortSortedStrings 842 844 +0.2% 1.00x
SortStrings 1641 1632 -0.5% 1.01x (?)
SortStringsUnicode 7908 7959 +0.6% 0.99x
StackPromo 22153 22114 -0.2% 1.00x
StaticArray 21 21 +0.0% 1.00x
StrToInt 4116 4158 +1.0% 0.99x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1329 1334 +0.4% 1.00x
StringBuilderLong 916 919 +0.3% 1.00x (?)
StringEdits 436406 435872 -0.1% 1.00x (?)
StringEqualPointerComparison 7307 7343 +0.5% 1.00x
StringHasPrefixUnicode 14682 14734 +0.4% 1.00x
StringHasSuffixUnicode 62088 62397 +0.5% 1.00x
StringInterpolation 8631 8396 -2.7% 1.03x
StringMatch 9265 9491 +2.4% 0.98x
StringUTF16Builder 2108 2144 +1.7% 0.98x (?)
StringWalk 6384 6527 +2.2% 0.98x
StringWithCString 126335 126718 +0.3% 1.00x (?)
SuffixAnyCollectionLazy 15140 15006 -0.9% 1.01x
SuffixAnySeqCRangeIter 5189 4997 -3.7% 1.04x (?)
SuffixAnySeqCRangeIterLazy 4997 4937 -1.2% 1.01x (?)
SuffixAnySequence 6783 6827 +0.6% 0.99x (?)
SuffixAnySequenceLazy 6674 6788 +1.7% 0.98x
SuffixSequence 4598 4507 -2.0% 1.02x
SuffixSequenceLazy 4529 4568 +0.9% 0.99x
SuperChars 315088 315271 +0.1% 1.00x (?)
TwoSum 961 924 -3.9% 1.04x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 254 253 -0.4% 1.00x
Walsh 352 352 +0.0% 1.00x
XorLoop 348 347 -0.3% 1.00x
**Unoptimized (Onone)**
Regression (2)
TEST OLD NEW DELTA SPEEDUP
StringHasSuffix 1739 1867 +7.4% 0.93x
ObjectiveCBridgeStubDateMutation 485 516 +6.4% 0.94x
Improvement (2)
TEST OLD NEW DELTA SPEEDUP
StringAdder 50 45 -10.0% 1.11x
OpenClose 435 397 -8.7% 1.10x
No Changes (265)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3099 3110 +0.4% 1.00x (?)
AnyHashableWithAClass 84334 85604 +1.5% 0.99x
Array2D 609347 609507 +0.0% 1.00x (?)
ArrayAppend 3686 3785 +2.7% 0.97x
ArrayAppendArrayOfInt 650 649 -0.2% 1.00x (?)
ArrayAppendAscii 60567 60601 +0.1% 1.00x (?)
ArrayAppendFromGeneric 654 654 +0.0% 1.00x
ArrayAppendGenericStructs 1345 1299 -3.4% 1.04x
ArrayAppendLatin1 82067 82141 +0.1% 1.00x (?)
ArrayAppendLazyMap 209738 209792 +0.0% 1.00x (?)
ArrayAppendOptionals 1302 1292 -0.8% 1.01x (?)
ArrayAppendRepeatCol 220515 217204 -1.5% 1.02x
ArrayAppendReserved 3550 3656 +3.0% 0.97x
ArrayAppendSequence 77096 77164 +0.1% 1.00x (?)
ArrayAppendStrings 13642 13627 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 652 653 +0.2% 1.00x (?)
ArrayAppendToGeneric 654 654 +0.0% 1.00x
ArrayAppendUTF16 80752 81189 +0.5% 0.99x (?)
ArrayInClass 4734 4738 +0.1% 1.00x
ArrayLiteral 1475 1458 -1.2% 1.01x
ArrayOfGenericPOD 3076 3074 -0.1% 1.00x (?)
ArrayOfGenericRef 9612 9659 +0.5% 1.00x (?)
ArrayOfPOD 1892 1892 +0.0% 1.00x
ArrayOfRef 8752 8754 +0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 653 652 -0.2% 1.00x
ArrayPlusEqualFiveElementCollection 282212 281505 -0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 278466 277662 -0.3% 1.00x (?)
ArrayPlusEqualThreeElements 10014 9997 -0.2% 1.00x (?)
ArraySubscript 4155 4149 -0.1% 1.00x (?)
ArrayValueProp 3024 3020 -0.1% 1.00x (?)
ArrayValueProp2 3645 3671 +0.7% 0.99x (?)
ArrayValueProp3 3415 3417 +0.1% 1.00x (?)
ArrayValueProp4 3356 3347 -0.3% 1.00x (?)
BitCount 890 885 -0.6% 1.01x
ByteSwap 265 260 -1.9% 1.02x (?)
CStringLongAscii 5306 5307 +0.0% 1.00x (?)
CStringLongNonAscii 2358 2347 -0.5% 1.00x (?)
CStringShortAscii 8334 8174 -1.9% 1.02x (?)
Calculator 1177 1173 -0.3% 1.00x (?)
CaptureProp 108254 107777 -0.4% 1.00x
CharacterLiteralsLarge 10068 10086 +0.2% 1.00x (?)
CharacterLiteralsSmall 1007 1007 +0.0% 1.00x
Chars 7486 7514 +0.4% 1.00x (?)
ClassArrayGetter 932 930 -0.2% 1.00x
DeadArray 116803 116694 -0.1% 1.00x (?)
Dictionary 1656 1658 +0.1% 1.00x (?)
Dictionary2 3474 3460 -0.4% 1.00x (?)
Dictionary2OfObjects 5774 5765 -0.2% 1.00x (?)
Dictionary3 1323 1322 -0.1% 1.00x (?)
Dictionary3OfObjects 2200 2193 -0.3% 1.00x (?)
DictionaryBridge 2717 2735 +0.7% 0.99x (?)
DictionaryLiteral 8237 8240 +0.0% 1.00x (?)
DictionaryOfObjects 4590 4591 +0.0% 1.00x (?)
DictionaryRemove 21085 21095 +0.0% 1.00x (?)
DictionaryRemoveOfObjects 55213 55264 +0.1% 1.00x (?)
DictionarySwap 5398 5409 +0.2% 1.00x (?)
DictionarySwapOfObjects 19222 19832 +3.2% 0.97x
DropFirstAnyCollection 19324 19364 +0.2% 1.00x (?)
DropFirstAnyCollectionLazy 139989 142064 +1.5% 0.99x
DropFirstAnySeqCRangeIter 30035 29939 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 30955 30710 -0.8% 1.01x
DropFirstAnySeqCntRange 19246 19227 -0.1% 1.00x
DropFirstAnySeqCntRangeLazy 19426 19275 -0.8% 1.01x
DropFirstAnySequence 14232 13987 -1.7% 1.02x
DropFirstAnySequenceLazy 14021 14113 +0.7% 0.99x (?)
DropFirstArray 6190 6192 +0.0% 1.00x
DropFirstArrayLazy 45539 45558 +0.0% 1.00x (?)
DropFirstCountableRange 341 339 -0.6% 1.01x
DropFirstCountableRangeLazy 39173 39025 -0.4% 1.00x
DropFirstSequence 13017 13041 +0.2% 1.00x (?)
DropFirstSequenceLazy 12891 12890 -0.0% 1.00x (?)
DropLastAnyCollection 6448 6464 +0.2% 1.00x (?)
DropLastAnyCollectionLazy 46821 46964 +0.3% 1.00x (?)
DropLastAnySeqCRangeIter 44532 44575 +0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 44107 44125 +0.0% 1.00x (?)
DropLastAnySeqCntRange 6446 6477 +0.5% 1.00x
DropLastAnySeqCntRangeLazy 6474 6467 -0.1% 1.00x (?)
DropLastAnySequence 29044 29028 -0.1% 1.00x
DropLastAnySequenceLazy 29235 29218 -0.1% 1.00x
DropLastArray 2073 2073 +0.0% 1.00x
DropLastArrayLazy 15192 15197 +0.0% 1.00x (?)
DropLastCountableRange 119 118 -0.8% 1.01x
DropLastCountableRangeLazy 13054 12812 -1.9% 1.02x
DropLastSequence 28756 28688 -0.2% 1.00x
DropLastSequenceLazy 28737 28585 -0.5% 1.01x
DropWhileAnyCollection 25201 25295 +0.4% 1.00x (?)
DropWhileAnyCollectionLazy 27896 27850 -0.2% 1.00x
DropWhileAnySeqCRangeIter 32661 32299 -1.1% 1.01x
DropWhileAnySeqCRangeIterLazy 27928 27862 -0.2% 1.00x (?)
DropWhileAnySeqCntRange 25118 25203 +0.3% 1.00x (?)
DropWhileAnySeqCntRangeLazy 27806 27846 +0.1% 1.00x (?)
DropWhileAnySequence 16129 16097 -0.2% 1.00x
DropWhileAnySequenceLazy 12549 12510 -0.3% 1.00x
DropWhileArray 9784 9771 -0.1% 1.00x (?)
DropWhileArrayLazy 16873 16861 -0.1% 1.00x (?)
DropWhileCountableRange 6222 6147 -1.2% 1.01x
DropWhileCountableRangeLazy 26431 26443 +0.0% 1.00x (?)
DropWhileSequence 15083 15086 +0.0% 1.00x (?)
DropWhileSequenceLazy 11312 11531 +1.9% 0.98x
ErrorHandling 3827 3779 -1.3% 1.01x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 17569 17395 -1.0% 1.01x (?)
HashQuadratic 47958149 47962952 +0.0% 1.00x (?)
HashTest 18542 18911 +2.0% 0.98x
Histogram 9011 9017 +0.1% 1.00x (?)
Integrate 395 395 +0.0% 1.00x
IterateData 12832 12822 -0.1% 1.00x (?)
Join 1262 1263 +0.1% 1.00x (?)
LazilyFilteredArrays 1692069 1684591 -0.4% 1.00x (?)
LazilyFilteredRange 692603 686089 -0.9% 1.01x (?)
LinkedList 32905 32914 +0.0% 1.00x (?)
MapReduce 37691 37719 +0.1% 1.00x (?)
MapReduceAnyCollection 37516 37585 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 50355 50140 -0.4% 1.00x (?)
MapReduceClass 43031 43081 +0.1% 1.00x
MapReduceClassShort 54415 54305 -0.2% 1.00x (?)
MapReduceLazyCollection 32877 33121 +0.7% 0.99x
MapReduceLazyCollectionShort 44240 44324 +0.2% 1.00x (?)
MapReduceLazySequence 26107 26168 +0.2% 1.00x (?)
MapReduceSequence 41478 41458 -0.0% 1.00x (?)
MapReduceShort 50084 49487 -1.2% 1.01x
MapReduceShortString 281 278 -1.1% 1.01x (?)
MapReduceString 2613 2603 -0.4% 1.00x (?)
Memset 43994 43989 -0.0% 1.00x (?)
MonteCarloE 135471 135044 -0.3% 1.00x (?)
MonteCarloPi 52512 52310 -0.4% 1.00x
NSDictionaryCastToSwift 6449 6462 +0.2% 1.00x (?)
NSError 722 703 -2.6% 1.03x (?)
NSStringConversion 1320 1317 -0.2% 1.00x (?)
NopDeinit 55557 53752 -3.2% 1.03x
ObjectAllocation 634 635 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 26542 26300 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8212 8332 +1.5% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46097 45166 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39374 39275 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122679 125441 +2.3% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7582 7472 -1.5% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 105575 106087 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 93702 95551 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 68116 68219 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7197 7206 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 78685 79847 +1.5% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 68111 67259 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSString 3984 4003 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2720 2720 +0.0% 1.00x
ObjectiveCBridgeStubDataAppend 3863 3824 -1.0% 1.01x (?)
ObjectiveCBridgeStubDateAccess 1061 1063 +0.2% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29629 29170 -1.5% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 3915 4032 +3.0% 0.97x
ObjectiveCBridgeStubFromNSDateRef 3917 3916 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 968 979 +1.1% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 212 213 +0.5% 1.00x (?)
ObjectiveCBridgeStubNSDataAppend 2666 2609 -2.1% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 15674 15151 -3.3% 1.03x (?)
ObjectiveCBridgeStubNSDateRefAccess 1208 1222 +1.2% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 29212 29157 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15191 15186 -0.0% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3372 3394 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSString 1564 1567 +0.2% 1.00x
ObjectiveCBridgeStubToNSStringRef 155 155 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 224158 219554 -2.1% 1.02x
ObjectiveCBridgeStubURLAppendPathRef 223114 217297 -2.6% 1.03x
ObjectiveCBridgeToNSArray 29250 29005 -0.8% 1.01x (?)
ObjectiveCBridgeToNSDictionary 46205 45985 -0.5% 1.00x (?)
ObjectiveCBridgeToNSSet 40165 40214 +0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1314 1310 -0.3% 1.00x (?)
ObserverClosure 6663 6662 -0.0% 1.00x (?)
ObserverForwarderStruct 4800 4803 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8126 8116 -0.1% 1.00x (?)
ObserverUnappliedMethod 8626 8615 -0.1% 1.00x (?)
Phonebook 24740 24529 -0.9% 1.01x (?)
PolymorphicCalls 3058 3037 -0.7% 1.01x
PopFrontArray 7403 7425 +0.3% 1.00x
PopFrontArrayGeneric 6336 6409 +1.2% 0.99x
PopFrontUnsafePointer 97054 98445 +1.4% 0.99x (?)
PrefixAnyCollection 19334 19309 -0.1% 1.00x (?)
PrefixAnyCollectionLazy 142710 138942 -2.6% 1.03x (?)
PrefixAnySeqCRangeIter 24585 24509 -0.3% 1.00x
PrefixAnySeqCRangeIterLazy 24373 24305 -0.3% 1.00x
PrefixAnySeqCntRange 19243 19203 -0.2% 1.00x
PrefixAnySeqCntRangeLazy 19331 19296 -0.2% 1.00x
PrefixAnySequence 11917 11945 +0.2% 1.00x (?)
PrefixAnySequenceLazy 11867 11833 -0.3% 1.00x (?)
PrefixArray 6196 6191 -0.1% 1.00x
PrefixArrayLazy 45545 45544 -0.0% 1.00x (?)
PrefixCountableRange 341 338 -0.9% 1.01x
PrefixCountableRangeLazy 39229 38609 -1.6% 1.02x (?)
PrefixSequence 10943 10811 -1.2% 1.01x
PrefixSequenceLazy 10664 10747 +0.8% 0.99x
PrefixWhileAnyCollection 36949 37166 +0.6% 0.99x
PrefixWhileAnyCollectionLazy 23031 22545 -2.1% 1.02x
PrefixWhileAnySeqCRangeIter 40902 40888 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 23305 23078 -1.0% 1.01x
PrefixWhileAnySeqCntRange 36977 36983 +0.0% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 22644 22649 +0.0% 1.00x (?)
PrefixWhileAnySequence 29562 29581 +0.1% 1.00x
PrefixWhileAnySequenceLazy 11269 11321 +0.5% 1.00x (?)
PrefixWhileArray 16841 16831 -0.1% 1.00x (?)
PrefixWhileArrayLazy 14684 14681 -0.0% 1.00x (?)
PrefixWhileCountableRange 17620 17646 +0.1% 1.00x (?)
PrefixWhileCountableRangeLazy 21936 21873 -0.3% 1.00x
PrefixWhileSequence 28259 28246 -0.0% 1.00x (?)
PrefixWhileSequenceLazy 10374 10416 +0.4% 1.00x
Prims 8920 8899 -0.2% 1.00x (?)
ProtocolDispatch 6863 6987 +1.8% 0.98x
ProtocolDispatch2 491 490 -0.2% 1.00x
RC4 19737 19802 +0.3% 1.00x (?)
RGBHistogram 33818 34029 +0.6% 0.99x
RGBHistogramOfObjects 99538 99460 -0.1% 1.00x (?)
RangeAssignment 5767 5755 -0.2% 1.00x (?)
RecursiveOwnedParameter 9478 9568 +0.9% 0.99x
ReversedArray 588 591 +0.5% 0.99x
ReversedBidirectional 75932 75270 -0.9% 1.01x (?)
ReversedDictionary 26504 25907 -2.3% 1.02x (?)
SetExclusiveOr 21039 21153 +0.5% 0.99x (?)
SetExclusiveOr_OfObjects 41126 41121 -0.0% 1.00x (?)
SetIntersect 10671 10663 -0.1% 1.00x (?)
SetIntersect_OfObjects 11201 11255 +0.5% 1.00x (?)
SetIsSubsetOf 1627 1624 -0.2% 1.00x
SetIsSubsetOf_OfObjects 1513 1510 -0.2% 1.00x
SetUnion 11948 11907 -0.3% 1.00x (?)
SetUnion_OfObjects 29611 29585 -0.1% 1.00x (?)
SevenBoom 1598 1595 -0.2% 1.00x (?)
Sim2DArray 30037 30044 +0.0% 1.00x (?)
SortLargeExistentials 17841 17746 -0.5% 1.01x
SortLettersInPlace 2820 2824 +0.1% 1.00x
SortSortedStrings 1411 1407 -0.3% 1.00x
SortStrings 2485 2481 -0.2% 1.00x
SortStringsUnicode 9060 9014 -0.5% 1.01x (?)
StackPromo 103769 102466 -1.3% 1.01x (?)
StaticArray 4582 4807 +4.9% 0.95x
StrComplexWalk 7127 6957 -2.4% 1.02x
StrToInt 5159 5149 -0.2% 1.00x
StringBuilder 2788 2777 -0.4% 1.00x (?)
StringBuilderLong 1071 1074 +0.3% 1.00x
StringEdits 745056 738343 -0.9% 1.01x
StringEqualPointerComparison 9591 9561 -0.3% 1.00x (?)
StringHasPrefix 1718 1697 -1.2% 1.01x (?)
StringHasPrefixUnicode 16185 16286 +0.6% 0.99x
StringHasSuffixUnicode 64425 64237 -0.3% 1.00x
StringInterpolation 11829 11830 +0.0% 1.00x (?)
StringMatch 30808 30762 -0.1% 1.00x (?)
StringUTF16Builder 3579 3563 -0.4% 1.00x (?)
StringWalk 22531 22480 -0.2% 1.00x (?)
StringWithCString 135222 135197 -0.0% 1.00x (?)
SuffixAnyCollection 6471 6477 +0.1% 1.00x (?)
SuffixAnyCollectionLazy 47209 46018 -2.5% 1.03x (?)
SuffixAnySeqCRangeIter 42298 42459 +0.4% 1.00x
SuffixAnySeqCRangeIterLazy 42148 42121 -0.1% 1.00x (?)
SuffixAnySeqCntRange 6429 6418 -0.2% 1.00x
SuffixAnySeqCntRangeLazy 6471 6493 +0.3% 1.00x (?)
SuffixAnySequence 26805 26825 +0.1% 1.00x
SuffixAnySequenceLazy 26835 26819 -0.1% 1.00x (?)
SuffixArray 2073 2072 -0.0% 1.00x (?)
SuffixArrayLazy 15206 15209 +0.0% 1.00x (?)
SuffixCountableRange 119 118 -0.8% 1.01x
SuffixCountableRangeLazy 13042 12822 -1.7% 1.02x
SuffixSequence 26402 26406 +0.0% 1.00x (?)
SuffixSequenceLazy 26394 26401 +0.0% 1.00x (?)
SuperChars 353069 351837 -0.3% 1.00x (?)
TwoSum 4301 4271 -0.7% 1.01x (?)
TypeFlood 165 167 +1.2% 0.99x (?)
UTF8Decode 37665 37642 -0.1% 1.00x
Walsh 11893 11881 -0.1% 1.00x (?)
XorLoop 23708 23707 -0.0% 1.00x (?)
**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

@palimondo
Copy link
Contributor Author

palimondo commented May 5, 2017

@dabrahams On a quick glance these benchmark results look identical to those you got on #9298 when considering the Sequence benchmarks (regressions and improvements).

But I don't seem to get as many improvements in -10% to -5% Delta, but when I look at the reported times, they look to be the same.

@palimondo
Copy link
Contributor Author

I think I'll pack it for today. Its 11:30PM here. Good night!

@dabrahams
Copy link
Contributor

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

swift-ci commented May 6, 2017

Build comment file:

Optimized (O)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
StringHasSuffix 15 31 +106.7% 0.48x
SuffixAnySeqCntRangeLazy 15 16 +6.7% 0.94x
SuffixAnySeqCntRange 15 16 +6.7% 0.94x
DropLastSequence 500 529 +5.8% 0.95x (?)
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
SuffixArrayLazy 8 7 -12.5% 1.14x
DropLastArrayLazy 8 7 -12.5% 1.14x (?)
DictionaryRemove 3603 3237 -10.2% 1.11x (?)
ObjectiveCBridgeStubNSDateRefAccess 352 322 -8.5% 1.09x
OpenClose 54 50 -7.4% 1.08x
ClassArrayGetter 14 13 -7.1% 1.08x
Calculator 33 31 -6.1% 1.06x
HashQuadratic 6458587 6132163 -5.1% 1.05x
ObjectiveCBridgeStubNSDataAppend 2373 2254 -5.0% 1.05x (?)
No Changes (256)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2914 2902 -0.4% 1.00x (?)
AnyHashableWithAClass 68522 68427 -0.1% 1.00x (?)
Array2D 2048 2061 +0.6% 0.99x (?)
ArrayAppend 747 747 +0.0% 1.00x
ArrayAppendArrayOfInt 579 579 +0.0% 1.00x
ArrayAppendAscii 24039 23076 -4.0% 1.04x (?)
ArrayAppendFromGeneric 596 579 -2.9% 1.03x (?)
ArrayAppendGenericStructs 1168 1160 -0.7% 1.01x (?)
ArrayAppendLatin1 43153 43221 +0.2% 1.00x (?)
ArrayAppendLazyMap 969 964 -0.5% 1.01x (?)
ArrayAppendOptionals 1169 1168 -0.1% 1.00x (?)
ArrayAppendRepeatCol 820 822 +0.2% 1.00x (?)
ArrayAppendReserved 517 517 +0.0% 1.00x
ArrayAppendSequence 917 945 +3.1% 0.97x (?)
ArrayAppendStrings 13121 13157 +0.3% 1.00x (?)
ArrayAppendToFromGeneric 578 578 +0.0% 1.00x
ArrayAppendToGeneric 579 579 +0.0% 1.00x
ArrayAppendUTF16 40964 41011 +0.1% 1.00x (?)
ArrayInClass 64 63 -1.6% 1.02x (?)
ArrayLiteral 1203 1186 -1.4% 1.01x (?)
ArrayOfGenericPOD 213 213 +0.0% 1.00x
ArrayOfGenericRef 3888 3888 +0.0% 1.00x
ArrayOfPOD 161 161 +0.0% 1.00x
ArrayOfRef 3790 3792 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 579 579 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4323 4410 +2.0% 0.98x (?)
ArrayPlusEqualSingleElementCollection 748 747 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1596 1588 -0.5% 1.01x (?)
ArraySubscript 1431 1426 -0.3% 1.00x (?)
ArrayValueProp 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
BitCount 9 9 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 4899 4926 +0.6% 0.99x (?)
CStringLongNonAscii 2135 2134 -0.0% 1.00x (?)
CStringShortAscii 5299 5445 +2.8% 0.97x (?)
CaptureProp 4902 4856 -0.9% 1.01x (?)
CharacterLiteralsLarge 8648 8742 +1.1% 0.99x (?)
CharacterLiteralsSmall 311 311 +0.0% 1.00x
Chars 1780 1777 -0.2% 1.00x (?)
DeadArray 181 181 +0.0% 1.00x
Dictionary 571 566 -0.9% 1.01x (?)
Dictionary2 1821 1808 -0.7% 1.01x (?)
Dictionary2OfObjects 3331 3325 -0.2% 1.00x (?)
Dictionary3 442 442 +0.0% 1.00x
Dictionary3OfObjects 875 871 -0.5% 1.00x (?)
DictionaryBridge 2685 2687 +0.1% 1.00x (?)
DictionaryLiteral 1440 1481 +2.8% 0.97x (?)
DictionaryOfObjects 2336 2338 +0.1% 1.00x (?)
DictionaryRemoveOfObjects 22709 22640 -0.3% 1.00x (?)
DictionarySwap 398 383 -3.8% 1.04x
DictionarySwapOfObjects 6667 6698 +0.5% 1.00x (?)
DropFirstAnyCollection 54 54 +0.0% 1.00x
DropFirstAnyCollectionLazy 43863 44097 +0.5% 0.99x (?)
DropFirstAnySeqCRangeIter 28688 28844 +0.5% 0.99x (?)
DropFirstAnySeqCRangeIterLazy 29212 29251 +0.1% 1.00x (?)
DropFirstAnySeqCntRange 49 49 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 49 49 +0.0% 1.00x
DropFirstAnySequence 6821 6621 -2.9% 1.03x (?)
DropFirstAnySequenceLazy 6800 6820 +0.3% 1.00x (?)
DropFirstArray 23 24 +4.3% 0.96x (?)
DropFirstArrayLazy 24 24 +0.0% 1.00x
DropFirstCountableRange 30 30 +0.0% 1.00x
DropFirstCountableRangeLazy 30 30 +0.0% 1.00x
DropFirstSequence 2892 2892 +0.0% 1.00x
DropFirstSequenceLazy 2869 2884 +0.5% 0.99x (?)
DropLastAnyCollection 21 21 +0.0% 1.00x
DropLastAnyCollectionLazy 14702 15027 +2.2% 0.98x (?)
DropLastAnySeqCRangeIter 4472 4610 +3.1% 0.97x (?)
DropLastAnySeqCRangeIterLazy 4605 4529 -1.7% 1.02x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6434 6583 +2.3% 0.98x (?)
DropLastAnySequenceLazy 6537 6556 +0.3% 1.00x (?)
DropLastArray 8 8 +0.0% 1.00x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequenceLazy 526 551 +4.8% 0.95x (?)
DropWhileAnyCollection 67 67 +0.0% 1.00x
DropWhileAnyCollectionLazy 98 98 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22803 22934 +0.6% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 98 98 +0.0% 1.00x
DropWhileAnySeqCntRange 62 62 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 100 100 +0.0% 1.00x
DropWhileAnySequence 7340 7370 +0.4% 1.00x (?)
DropWhileAnySequenceLazy 2032 1992 -2.0% 1.02x (?)
DropWhileArray 36 36 +0.0% 1.00x
DropWhileArrayLazy 75 75 +0.0% 1.00x
DropWhileCountableRange 34 33 -2.9% 1.03x
DropWhileCountableRangeLazy 64 64 +0.0% 1.00x
DropWhileSequence 2947 2948 +0.0% 1.00x (?)
DropWhileSequenceLazy 61 61 +0.0% 1.00x
ErrorHandling 2839 2798 -1.4% 1.01x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3445 3284 -4.7% 1.05x
HashTest 1695 1700 +0.3% 1.00x (?)
Histogram 267 267 +0.0% 1.00x
Integrate 264 270 +2.3% 0.98x (?)
IterateData 753 763 +1.3% 0.99x (?)
Join 433 436 +0.7% 0.99x (?)
LazilyFilteredArrays 63723 63899 +0.3% 1.00x (?)
LazilyFilteredRange 3875 3771 -2.7% 1.03x (?)
LinkedList 6663 6667 +0.1% 1.00x (?)
MapReduce 305 309 +1.3% 0.99x (?)
MapReduceAnyCollection 313 312 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 1985 1998 +0.7% 0.99x (?)
MapReduceClass 2970 2875 -3.2% 1.03x (?)
MapReduceClassShort 4379 4429 +1.1% 0.99x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 44 44 +0.0% 1.00x
MapReduceLazySequence 85 85 +0.0% 1.00x
MapReduceSequence 422 430 +1.9% 0.98x (?)
MapReduceShort 1894 1843 -2.7% 1.03x (?)
MapReduceShortString 22 21 -4.5% 1.05x
MapReduceString 113 112 -0.9% 1.01x (?)
Memset 221 221 +0.0% 1.00x
MonteCarloE 9837 9832 -0.1% 1.00x (?)
MonteCarloPi 41596 41524 -0.2% 1.00x (?)
NSDictionaryCastToSwift 5227 5129 -1.9% 1.02x (?)
NSError 288 288 +0.0% 1.00x
NSStringConversion 735 731 -0.5% 1.01x (?)
NopDeinit 27433 27447 +0.1% 1.00x (?)
ObjectAllocation 173 178 +2.9% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24200 23968 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4546 4529 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45085 45054 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39209 38457 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121650 119537 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5286 5124 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 100385 97021 -3.4% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 91662 92300 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 66453 64536 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4231 4195 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 74451 73841 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62917 63122 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSString 1456 1484 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2416 2421 +0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3768 3663 -2.8% 1.03x (?)
ObjectiveCBridgeStubDateAccess 182 181 -0.5% 1.01x (?)
ObjectiveCBridgeStubDateMutation 272 265 -2.6% 1.03x (?)
ObjectiveCBridgeStubFromArrayOfNSString 28931 28533 -1.4% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 3582 3614 +0.9% 0.99x (?)
ObjectiveCBridgeStubFromNSDateRef 3642 3586 -1.5% 1.02x (?)
ObjectiveCBridgeStubFromNSString 933 944 +1.2% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 179 179 +0.0% 1.00x
ObjectiveCBridgeStubNSDateMutationRef 12408 12426 +0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 29191 28674 -1.8% 1.02x (?)
ObjectiveCBridgeStubToNSDate 13773 13939 +1.2% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3260 3276 +0.5% 1.00x (?)
ObjectiveCBridgeStubToNSString 1475 1477 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 105 107 +1.9% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 227017 232673 +2.5% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 239112 235761 -1.4% 1.01x (?)
ObjectiveCBridgeToNSArray 29139 29776 +2.2% 0.98x (?)
ObjectiveCBridgeToNSDictionary 45985 45017 -2.1% 1.02x (?)
ObjectiveCBridgeToNSSet 39575 39395 -0.5% 1.00x (?)
ObjectiveCBridgeToNSString 1238 1232 -0.5% 1.00x (?)
ObserverClosure 2231 2208 -1.0% 1.01x (?)
ObserverForwarderStruct 1078 1067 -1.0% 1.01x (?)
ObserverPartiallyAppliedMethod 3740 3738 -0.1% 1.00x (?)
ObserverUnappliedMethod 2532 2582 +2.0% 0.98x (?)
Phonebook 9730 9535 -2.0% 1.02x (?)
PolymorphicCalls 20 20 +0.0% 1.00x
PopFrontArray 1046 1043 -0.3% 1.00x (?)
PopFrontArrayGeneric 1070 1083 +1.2% 0.99x (?)
PopFrontUnsafePointer 8584 8586 +0.0% 1.00x (?)
PrefixAnyCollection 54 54 +0.0% 1.00x
PrefixAnyCollectionLazy 44243 43905 -0.8% 1.01x (?)
PrefixAnySeqCRangeIter 22255 22323 +0.3% 1.00x (?)
PrefixAnySeqCRangeIterLazy 22808 22672 -0.6% 1.01x (?)
PrefixAnySeqCntRange 48 49 +2.1% 0.98x (?)
PrefixAnySeqCntRangeLazy 49 49 +0.0% 1.00x
PrefixAnySequence 6174 5992 -2.9% 1.03x (?)
PrefixAnySequenceLazy 6191 6027 -2.6% 1.03x (?)
PrefixArray 24 23 -4.2% 1.04x (?)
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 30 30 +0.0% 1.00x
PrefixCountableRangeLazy 30 30 +0.0% 1.00x
PrefixSequence 2507 2506 -0.0% 1.00x (?)
PrefixSequenceLazy 2470 2471 +0.0% 1.00x (?)
PrefixWhileAnyCollection 91 91 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 71 73 +2.8% 0.97x (?)
PrefixWhileAnySeqCRangeIter 12412 12190 -1.8% 1.02x (?)
PrefixWhileAnySeqCRangeIterLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCntRange 85 85 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 73 73 +0.0% 1.00x
PrefixWhileAnySequence 13631 13779 +1.1% 0.99x (?)
PrefixWhileAnySequenceLazy 1492 1477 -1.0% 1.01x (?)
PrefixWhileArray 60 60 +0.0% 1.00x
PrefixWhileArrayLazy 48 48 +0.0% 1.00x
PrefixWhileCountableRange 34 34 +0.0% 1.00x
PrefixWhileCountableRangeLazy 30 30 +0.0% 1.00x
PrefixWhileSequence 280 282 +0.7% 0.99x (?)
PrefixWhileSequenceLazy 26 26 +0.0% 1.00x
Prims 721 715 -0.8% 1.01x (?)
ProtocolDispatch 2989 2953 -1.2% 1.01x (?)
ProtocolDispatch2 173 173 +0.0% 1.00x
RC4 160 159 -0.6% 1.01x (?)
RGBHistogram 2299 2322 +1.0% 0.99x (?)
RGBHistogramOfObjects 23246 23405 +0.7% 0.99x (?)
RangeAssignment 300 297 -1.0% 1.01x (?)
RecursiveOwnedParameter 2192 2194 +0.1% 1.00x (?)
ReversedArray 49 47 -4.1% 1.04x (?)
ReversedBidirectional 28981 28470 -1.8% 1.02x (?)
ReversedDictionary 115 115 +0.0% 1.00x
SetExclusiveOr 3000 2977 -0.8% 1.01x (?)
SetExclusiveOr_OfObjects 9300 9312 +0.1% 1.00x (?)
SetIntersect 284 281 -1.1% 1.01x (?)
SetIntersect_OfObjects 1694 1701 +0.4% 1.00x (?)
SetIsSubsetOf 270 270 +0.0% 1.00x
SetIsSubsetOf_OfObjects 338 338 +0.0% 1.00x
SetUnion 2635 2622 -0.5% 1.00x (?)
SetUnion_OfObjects 7924 7966 +0.5% 0.99x (?)
SevenBoom 1435 1444 +0.6% 0.99x (?)
Sim2DArray 285 283 -0.7% 1.01x (?)
SortLargeExistentials 8379 8330 -0.6% 1.01x (?)
SortLettersInPlace 1114 1111 -0.3% 1.00x (?)
SortSortedStrings 867 845 -2.5% 1.03x (?)
SortStrings 1680 1616 -3.8% 1.04x
SortStringsUnicode 7948 7802 -1.8% 1.02x (?)
StackPromo 20847 20972 +0.6% 0.99x (?)
StaticArray 21 21 +0.0% 1.00x
StrComplexWalk 699 698 -0.1% 1.00x (?)
StrToInt 4495 4318 -3.9% 1.04x (?)
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1255 1251 -0.3% 1.00x (?)
StringBuilderLong 888 907 +2.1% 0.98x (?)
StringEdits 447697 446837 -0.2% 1.00x (?)
StringEqualPointerComparison 7600 7606 +0.1% 1.00x (?)
StringHasPrefix 31 31 +0.0% 1.00x
StringHasPrefixUnicode 14288 14321 +0.2% 1.00x (?)
StringHasSuffixUnicode 58685 60722 +3.5% 0.97x (?)
StringInterpolation 8145 8161 +0.2% 1.00x (?)
StringMatch 9540 9128 -4.3% 1.05x
StringUTF16Builder 2068 2066 -0.1% 1.00x (?)
StringWalk 6407 6448 +0.6% 0.99x (?)
StringWithCString 120560 120796 +0.2% 1.00x (?)
SuffixAnyCollection 21 21 +0.0% 1.00x
SuffixAnyCollectionLazy 14551 14562 +0.1% 1.00x (?)
SuffixAnySeqCRangeIter 4792 4797 +0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4837 4883 +1.0% 0.99x (?)
SuffixAnySequence 6605 6570 -0.5% 1.01x (?)
SuffixAnySequenceLazy 6537 6431 -1.6% 1.02x (?)
SuffixArray 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4197 4210 +0.3% 1.00x (?)
SuffixSequenceLazy 4307 4321 +0.3% 1.00x (?)
SuperChars 316197 308749 -2.4% 1.02x (?)
TwoSum 867 875 +0.9% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 247 250 +1.2% 0.99x (?)
Walsh 353 356 +0.8% 0.99x (?)
XorLoop 337 337 +0.0% 1.00x
**Unoptimized (Onone)**
Improvement (4)
TEST OLD NEW DELTA SPEEDUP
PopFrontUnsafePointer 120023 111726 -6.9% 1.07x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 98924 92623 -6.4% 1.07x (?)
Calculator 1181 1110 -6.0% 1.06x
ObjectiveCBridgeStubToNSDate 15123 14271 -5.6% 1.06x (?)
No Changes (265)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3058 3083 +0.8% 0.99x (?)
AnyHashableWithAClass 86519 87696 +1.4% 0.99x (?)
Array2D 593208 603040 +1.7% 0.98x (?)
ArrayAppend 3767 3635 -3.5% 1.04x
ArrayAppendArrayOfInt 671 651 -3.0% 1.03x (?)
ArrayAppendAscii 61840 60909 -1.5% 1.02x
ArrayAppendFromGeneric 655 655 +0.0% 1.00x
ArrayAppendGenericStructs 1263 1228 -2.8% 1.03x
ArrayAppendLatin1 82730 82660 -0.1% 1.00x (?)
ArrayAppendLazyMap 209370 206193 -1.5% 1.02x (?)
ArrayAppendOptionals 1266 1294 +2.2% 0.98x (?)
ArrayAppendRepeatCol 213130 212993 -0.1% 1.00x (?)
ArrayAppendReserved 3522 3358 -4.7% 1.05x
ArrayAppendSequence 81283 80851 -0.5% 1.01x (?)
ArrayAppendStrings 13543 13527 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 636 635 -0.2% 1.00x (?)
ArrayAppendToGeneric 636 636 +0.0% 1.00x
ArrayAppendUTF16 80079 80873 +1.0% 0.99x (?)
ArrayInClass 4470 4540 +1.6% 0.98x (?)
ArrayLiteral 1523 1516 -0.5% 1.00x (?)
ArrayOfGenericPOD 3246 3233 -0.4% 1.00x (?)
ArrayOfGenericRef 9874 9753 -1.2% 1.01x (?)
ArrayOfPOD 1890 1889 -0.1% 1.00x
ArrayOfRef 8787 9008 +2.5% 0.98x (?)
ArrayPlusEqualArrayOfInt 652 652 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 286665 285313 -0.5% 1.00x (?)
ArrayPlusEqualSingleElementCollection 281561 285130 +1.3% 0.99x (?)
ArrayPlusEqualThreeElements 10364 10458 +0.9% 0.99x (?)
ArraySubscript 4036 4033 -0.1% 1.00x (?)
ArrayValueProp 2981 2980 -0.0% 1.00x (?)
ArrayValueProp2 3650 3595 -1.5% 1.02x (?)
ArrayValueProp3 3454 3430 -0.7% 1.01x (?)
ArrayValueProp4 3337 3327 -0.3% 1.00x (?)
BitCount 887 908 +2.4% 0.98x (?)
ByteSwap 259 267 +3.1% 0.97x
CStringLongAscii 5264 5305 +0.8% 0.99x (?)
CStringLongNonAscii 2442 2463 +0.9% 0.99x (?)
CStringShortAscii 8539 8278 -3.1% 1.03x (?)
CaptureProp 113526 114216 +0.6% 0.99x (?)
CharacterLiteralsLarge 9998 9952 -0.5% 1.00x (?)
CharacterLiteralsSmall 998 1000 +0.2% 1.00x
Chars 7587 7526 -0.8% 1.01x (?)
ClassArrayGetter 946 958 +1.3% 0.99x (?)
DeadArray 117132 117300 +0.1% 1.00x (?)
Dictionary 1705 1741 +2.1% 0.98x (?)
Dictionary2 3472 3473 +0.0% 1.00x (?)
Dictionary2OfObjects 5801 5817 +0.3% 1.00x (?)
Dictionary3 1317 1315 -0.2% 1.00x (?)
Dictionary3OfObjects 2202 2213 +0.5% 1.00x (?)
DictionaryBridge 2782 2732 -1.8% 1.02x (?)
DictionaryLiteral 8232 8355 +1.5% 0.99x (?)
DictionaryOfObjects 4585 4603 +0.4% 1.00x (?)
DictionaryRemove 21178 21116 -0.3% 1.00x (?)
DictionaryRemoveOfObjects 55407 55757 +0.6% 0.99x (?)
DictionarySwap 5482 5474 -0.1% 1.00x (?)
DictionarySwapOfObjects 19890 20061 +0.9% 0.99x (?)
DropFirstAnyCollection 19346 19264 -0.4% 1.00x (?)
DropFirstAnyCollectionLazy 136784 139667 +2.1% 0.98x (?)
DropFirstAnySeqCRangeIter 31792 31501 -0.9% 1.01x (?)
DropFirstAnySeqCRangeIterLazy 32000 32083 +0.3% 1.00x (?)
DropFirstAnySeqCntRange 20013 20060 +0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 19887 19933 +0.2% 1.00x (?)
DropFirstAnySequence 14583 14576 -0.0% 1.00x
DropFirstAnySequenceLazy 14303 14869 +4.0% 0.96x
DropFirstArray 6317 6313 -0.1% 1.00x (?)
DropFirstArrayLazy 46790 46770 -0.0% 1.00x (?)
DropFirstCountableRange 348 347 -0.3% 1.00x (?)
DropFirstCountableRangeLazy 40077 41037 +2.4% 0.98x (?)
DropFirstSequence 13429 13189 -1.8% 1.02x (?)
DropFirstSequenceLazy 12972 13429 +3.5% 0.97x
DropLastAnyCollection 6662 6631 -0.5% 1.00x (?)
DropLastAnyCollectionLazy 46399 46633 +0.5% 0.99x (?)
DropLastAnySeqCRangeIter 44134 44201 +0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 45256 45922 +1.5% 0.99x (?)
DropLastAnySeqCntRange 6737 6626 -1.6% 1.02x (?)
DropLastAnySeqCntRangeLazy 6633 6630 -0.0% 1.00x (?)
DropLastAnySequence 29223 29117 -0.4% 1.00x (?)
DropLastAnySequenceLazy 29010 29036 +0.1% 1.00x (?)
DropLastArray 2180 2113 -3.1% 1.03x
DropLastArrayLazy 15614 15474 -0.9% 1.01x (?)
DropLastCountableRange 121 121 +0.0% 1.00x
DropLastCountableRangeLazy 13292 13320 +0.2% 1.00x
DropLastSequence 28555 28751 +0.7% 0.99x (?)
DropLastSequenceLazy 29535 28658 -3.0% 1.03x (?)
DropWhileAnyCollection 25820 25203 -2.4% 1.02x (?)
DropWhileAnyCollectionLazy 29822 29553 -0.9% 1.01x (?)
DropWhileAnySeqCRangeIter 34021 33659 -1.1% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 28619 28858 +0.8% 0.99x (?)
DropWhileAnySeqCntRange 25936 25923 -0.1% 1.00x (?)
DropWhileAnySeqCntRangeLazy 29466 28791 -2.3% 1.02x
DropWhileAnySequence 16162 16629 +2.9% 0.97x (?)
DropWhileAnySequenceLazy 12681 12646 -0.3% 1.00x (?)
DropWhileArray 9923 9945 +0.2% 1.00x (?)
DropWhileArrayLazy 16892 16887 -0.0% 1.00x (?)
DropWhileCountableRange 6415 6401 -0.2% 1.00x
DropWhileCountableRangeLazy 27673 27998 +1.2% 0.99x (?)
DropWhileSequence 15517 15088 -2.8% 1.03x (?)
DropWhileSequenceLazy 11830 11676 -1.3% 1.01x
ErrorHandling 3812 4007 +5.1% 0.95x
GlobalClass 0 0 +0.0% 1.00x
Hanoi 17573 17372 -1.1% 1.01x (?)
HashQuadratic 50055673 49909330 -0.3% 1.00x (?)
HashTest 18510 18882 +2.0% 0.98x (?)
Histogram 8750 8752 +0.0% 1.00x (?)
Integrate 406 400 -1.5% 1.01x (?)
IterateData 12795 12809 +0.1% 1.00x (?)
Join 1263 1230 -2.6% 1.03x (?)
LazilyFilteredArrays 1741256 1726710 -0.8% 1.01x (?)
LazilyFilteredRange 710634 698611 -1.7% 1.02x (?)
LinkedList 31094 31281 +0.6% 0.99x (?)
MapReduce 36058 35832 -0.6% 1.01x (?)
MapReduceAnyCollection 37675 36167 -4.0% 1.04x
MapReduceAnyCollectionShort 50176 50184 +0.0% 1.00x (?)
MapReduceClass 43116 43209 +0.2% 1.00x (?)
MapReduceClassShort 53479 53605 +0.2% 1.00x (?)
MapReduceLazyCollection 33022 32694 -1.0% 1.01x
MapReduceLazyCollectionShort 45801 45004 -1.7% 1.02x (?)
MapReduceLazySequence 25468 25478 +0.0% 1.00x (?)
MapReduceSequence 41736 41388 -0.8% 1.01x
MapReduceShort 49675 49780 +0.2% 1.00x (?)
MapReduceShortString 277 281 +1.4% 0.99x (?)
MapReduceString 2605 2600 -0.2% 1.00x (?)
Memset 41545 41519 -0.1% 1.00x (?)
MonteCarloE 131460 132386 +0.7% 0.99x (?)
MonteCarloPi 49677 49503 -0.4% 1.00x (?)
NSDictionaryCastToSwift 6301 6402 +1.6% 0.98x (?)
NSError 734 735 +0.1% 1.00x (?)
NSStringConversion 1315 1350 +2.7% 0.97x (?)
NopDeinit 56512 56510 -0.0% 1.00x (?)
ObjectAllocation 636 636 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 25595 26261 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8092 8123 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46074 45288 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39785 39642 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 126456 124649 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7793 7547 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 106155 103334 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 68549 70826 +3.3% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectForced 7041 7055 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 78887 79624 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 67249 68200 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSString 4222 4194 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2750 2780 +1.1% 0.99x (?)
ObjectiveCBridgeStubDataAppend 3831 3803 -0.7% 1.01x (?)
ObjectiveCBridgeStubDateAccess 1063 1037 -2.4% 1.03x (?)
ObjectiveCBridgeStubDateMutation 516 501 -2.9% 1.03x (?)
ObjectiveCBridgeStubFromArrayOfNSString 30118 29544 -1.9% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 4119 4009 -2.7% 1.03x
ObjectiveCBridgeStubFromNSDateRef 4255 4108 -3.5% 1.04x
ObjectiveCBridgeStubFromNSString 1002 992 -1.0% 1.01x
ObjectiveCBridgeStubFromNSStringRef 211 218 +3.3% 0.97x
ObjectiveCBridgeStubNSDataAppend 2603 2639 +1.4% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 16134 15422 -4.4% 1.05x (?)
ObjectiveCBridgeStubNSDateRefAccess 1213 1245 +2.6% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 29525 29823 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3392 3400 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSString 1570 1570 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 145 149 +2.8% 0.97x
ObjectiveCBridgeStubURLAppendPath 236039 237133 +0.5% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 241005 244390 +1.4% 0.99x (?)
ObjectiveCBridgeToNSArray 30248 29557 -2.3% 1.02x (?)
ObjectiveCBridgeToNSDictionary 47245 47102 -0.3% 1.00x (?)
ObjectiveCBridgeToNSSet 41223 41802 +1.4% 0.99x (?)
ObjectiveCBridgeToNSString 1292 1307 +1.2% 0.99x (?)
ObserverClosure 6445 6439 -0.1% 1.00x (?)
ObserverForwarderStruct 4672 4560 -2.4% 1.02x (?)
ObserverPartiallyAppliedMethod 7918 8079 +2.0% 0.98x (?)
ObserverUnappliedMethod 8537 8496 -0.5% 1.00x (?)
OpenClose 404 401 -0.7% 1.01x (?)
Phonebook 25659 25153 -2.0% 1.02x (?)
PolymorphicCalls 3031 2987 -1.5% 1.01x (?)
PopFrontArray 7491 7540 +0.7% 0.99x (?)
PopFrontArrayGeneric 6514 6480 -0.5% 1.01x (?)
PrefixAnyCollection 19956 20449 +2.5% 0.98x (?)
PrefixAnyCollectionLazy 136885 136780 -0.1% 1.00x (?)
PrefixAnySeqCRangeIter 24860 24953 +0.4% 1.00x (?)
PrefixAnySeqCRangeIterLazy 24535 25314 +3.2% 0.97x
PrefixAnySeqCntRange 20036 19909 -0.6% 1.01x (?)
PrefixAnySeqCntRangeLazy 19893 19911 +0.1% 1.00x (?)
PrefixAnySequence 12284 12026 -2.1% 1.02x (?)
PrefixAnySequenceLazy 11928 12241 +2.6% 0.97x (?)
PrefixArray 6320 6317 -0.0% 1.00x (?)
PrefixArrayLazy 47011 46379 -1.3% 1.01x (?)
PrefixCountableRange 349 348 -0.3% 1.00x (?)
PrefixCountableRangeLazy 40128 40260 +0.3% 1.00x (?)
PrefixSequence 11173 11136 -0.3% 1.00x (?)
PrefixSequenceLazy 10846 10811 -0.3% 1.00x (?)
PrefixWhileAnyCollection 38056 37770 -0.8% 1.01x (?)
PrefixWhileAnyCollectionLazy 23673 23738 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIter 41408 41389 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 24198 23411 -3.3% 1.03x
PrefixWhileAnySeqCntRange 37917 38054 +0.4% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 23710 23739 +0.1% 1.00x (?)
PrefixWhileAnySequence 29553 29556 +0.0% 1.00x (?)
PrefixWhileAnySequenceLazy 11541 11527 -0.1% 1.00x (?)
PrefixWhileArray 17053 17186 +0.8% 0.99x (?)
PrefixWhileArrayLazy 14684 14677 -0.0% 1.00x (?)
PrefixWhileCountableRange 18007 17897 -0.6% 1.01x (?)
PrefixWhileCountableRangeLazy 22833 22665 -0.7% 1.01x (?)
PrefixWhileSequence 28324 28374 +0.2% 1.00x (?)
PrefixWhileSequenceLazy 10814 10880 +0.6% 0.99x (?)
Prims 8895 8888 -0.1% 1.00x (?)
ProtocolDispatch 7235 7267 +0.4% 1.00x (?)
ProtocolDispatch2 506 521 +3.0% 0.97x
RC4 20003 20149 +0.7% 0.99x (?)
RGBHistogram 34439 34554 +0.3% 1.00x (?)
RGBHistogramOfObjects 97297 97032 -0.3% 1.00x (?)
RangeAssignment 5563 5537 -0.5% 1.00x (?)
RecursiveOwnedParameter 9129 9158 +0.3% 1.00x (?)
ReversedArray 586 588 +0.3% 1.00x (?)
ReversedBidirectional 78193 78306 +0.1% 1.00x (?)
ReversedDictionary 27431 27421 -0.0% 1.00x (?)
SetExclusiveOr 21066 21046 -0.1% 1.00x (?)
SetExclusiveOr_OfObjects 41248 40072 -2.9% 1.03x (?)
SetIntersect 10707 10604 -1.0% 1.01x (?)
SetIntersect_OfObjects 11658 11304 -3.0% 1.03x
SetIsSubsetOf 1632 1633 +0.1% 1.00x (?)
SetIsSubsetOf_OfObjects 1572 1524 -3.1% 1.03x
SetUnion 12059 12087 +0.2% 1.00x (?)
SetUnion_OfObjects 28980 28841 -0.5% 1.00x (?)
SevenBoom 1588 1602 +0.9% 0.99x (?)
Sim2DArray 29143 28677 -1.6% 1.02x (?)
SortLargeExistentials 17596 17492 -0.6% 1.01x (?)
SortLettersInPlace 2864 2871 +0.2% 1.00x (?)
SortSortedStrings 1412 1424 +0.8% 0.99x (?)
SortStrings 2545 2540 -0.2% 1.00x (?)
SortStringsUnicode 8973 9075 +1.1% 0.99x (?)
StackPromo 105560 102459 -2.9% 1.03x (?)
StaticArray 4572 4558 -0.3% 1.00x (?)
StrComplexWalk 6991 7079 +1.3% 0.99x (?)
StrToInt 5592 5417 -3.1% 1.03x (?)
StringAdder 48 50 +4.2% 0.96x
StringBuilder 2783 2784 +0.0% 1.00x (?)
StringBuilderLong 1124 1077 -4.2% 1.04x
StringEdits 746476 734673 -1.6% 1.02x (?)
StringEqualPointerComparison 9666 9799 +1.4% 0.99x (?)
StringHasPrefix 1835 1758 -4.2% 1.04x
StringHasPrefixUnicode 16199 16494 +1.8% 0.98x (?)
StringHasSuffix 1865 1815 -2.7% 1.03x
StringHasSuffixUnicode 65718 66012 +0.4% 1.00x (?)
StringInterpolation 11905 11963 +0.5% 1.00x (?)
StringMatch 31052 31234 +0.6% 0.99x (?)
StringUTF16Builder 3633 3588 -1.2% 1.01x (?)
StringWalk 21112 21462 +1.7% 0.98x (?)
StringWithCString 134134 134000 -0.1% 1.00x (?)
SuffixAnyCollection 6403 6420 +0.3% 1.00x (?)
SuffixAnyCollectionLazy 47485 46085 -2.9% 1.03x (?)
SuffixAnySeqCRangeIter 41818 41826 +0.0% 1.00x (?)
SuffixAnySeqCRangeIterLazy 42256 42205 -0.1% 1.00x (?)
SuffixAnySeqCntRange 6681 6631 -0.7% 1.01x (?)
SuffixAnySeqCntRangeLazy 6651 6625 -0.4% 1.00x
SuffixAnySequence 26871 26893 +0.1% 1.00x (?)
SuffixAnySequenceLazy 26776 26770 -0.0% 1.00x (?)
SuffixArray 2115 2114 -0.0% 1.00x
SuffixArrayLazy 15355 15475 +0.8% 0.99x (?)
SuffixCountableRange 118 121 +2.5% 0.98x
SuffixCountableRangeLazy 13313 13318 +0.0% 1.00x (?)
SuffixSequence 26605 26392 -0.8% 1.01x (?)
SuffixSequenceLazy 26372 26375 +0.0% 1.00x (?)
SuperChars 351447 349248 -0.6% 1.01x (?)
TwoSum 4477 4443 -0.8% 1.01x (?)
TypeFlood 169 170 +0.6% 0.99x (?)
UTF8Decode 36108 35935 -0.5% 1.00x (?)
Walsh 11606 11584 -0.2% 1.00x (?)
XorLoop 23014 22366 -2.8% 1.03x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i7 Processor Speed: 3 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 4 MB Memory: 16 GB

@dabrahams
Copy link
Contributor

dabrahams commented May 6, 2017

Clearly StringHasSuffix is not doing very much work; this change seems to interfere with its ability to measure anything. @eeckstein any thoughts?

@eeckstein
Copy link
Contributor

Yeah, I think we can ignore this for now. Maybe we can make this benchmark more reliable by making the test strings larger.

@dabrahams
Copy link
Contributor

@eeckstein Because I'm not sure what you mean by “ignore this” I'm going to cop out and leave it up to you whether to merge this PR or not 😉

@palimondo
Copy link
Contributor Author

@eeckstein Please merge?

}
@inline(__always)
public func CheckResults(
_ resultsMatch: Bool,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nit: indenting in this file is two spaces.

file: StaticString = #file,
function: StaticString = #function,
line: Int = #line
) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nit: closing paren here should be de-indented.

public func CheckResults(
_ resultsMatch: Bool,
_ message: @autoclosure () -> String
) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Also here.

@eeckstein
Copy link
Contributor

I think it's fine to merge

@palimondo
Copy link
Contributor Author

@eeckstein I’ve noticed the magic spell used by others is @swift-ci Please smoke test and merge

@eeckstein
Copy link
Contributor

@swift-ci Please smoke test and merge

1 similar comment
@eeckstein
Copy link
Contributor

@swift-ci Please smoke test and merge

@eeckstein eeckstein merged commit 087b84e into swiftlang:master May 12, 2017
@palimondo
Copy link
Contributor Author

Eric, Dave, thank you!

@palimondo palimondo deleted the check-results-error-msg branch May 12, 2017 19:42
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.

5 participants