Skip to content

[benchmark] Added benchmark for heapSort path of stdlib sort #18667

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 16, 2018
Merged

[benchmark] Added benchmark for heapSort path of stdlib sort #18667

merged 3 commits into from
Aug 16, 2018

Conversation

kchibisov
Copy link
Contributor

Current sorting benchmarks doesn't measure heapSort performance, so now it's really hard to improve
all code related to heapSort routines functions ( _siftDown, _heapify).

This benchmark makes sorting benchmarks more complete allowing us to measure performance of "heapSort part" in introSort.

This benchmark makes sorting benchmarks more complete. Now we
can measure all paths of stdlib sorting function.
@gottesmm gottesmm requested a review from airspeedswift August 13, 2018 15:53
@airspeedswift
Copy link
Member

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member

@swift-ci please smoke test

@swift-ci
Copy link
Contributor

Build comment file:

Build failed before running benchmark.


@airspeedswift
Copy link
Member

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (20)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 313 401 +28.1% 0.78x
BinaryFloatingPointPropertiesBinade 25 31 +24.0% 0.81x
ChainedFilterMap 1248 1408 +12.8% 0.89x
FatCompactMap 1248 1407 +12.7% 0.89x
ObjectiveCBridgeStubFromNSString 1034 1155 +11.7% 0.90x (?)
Calculator 197 220 +11.7% 0.90x
DataSetCount 550 602 +9.5% 0.91x (?)
DataCount 34 37 +8.8% 0.92x
SubstringComparable 12 13 +8.3% 0.92x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44505 48193 +8.3% 0.92x
MapReduce 369 398 +7.9% 0.93x
StringBuilderWithLongSubstring 1484 1594 +7.4% 0.93x (?)
RemoveWhereMoveInts 15 16 +6.7% 0.94x
COWArrayGuaranteedParameterOverhead 10919 11633 +6.5% 0.94x (?)
NopDeinit 30185 32156 +6.5% 0.94x
PrefixAnySeqCRangeIterLazy 31 33 +6.5% 0.94x
PrefixAnySeqCRangeIter 31 33 +6.5% 0.94x
ObjectiveCBridgeToNSDictionary 26623 28189 +5.9% 0.94x (?)
BinaryFloatingPointPropertiesUlp 35 37 +5.7% 0.95x
DropFirstAnyCollectionLazy 69745 73721 +5.7% 0.95x
Improvement (16)
TEST OLD NEW DELTA SPEEDUP
RangeIterationSigned 200 171 -14.5% 1.17x
DataReplaceSmallBuffer 10987 9422 -14.2% 1.17x
ReversedArray2 200 172 -14.0% 1.16x
ObjectiveCBridgeFromNSString 1380 1252 -9.3% 1.10x (?)
MapReduceLazyCollectionShort 34 31 -8.8% 1.10x
ObjectiveCBridgeStubFromArrayOfNSString2 3634 3367 -7.3% 1.08x (?)
UTF8Decode_InitFromBytes_ascii 529 491 -7.2% 1.08x (?)
UTF8Decode_InitFromData_ascii 757 703 -7.1% 1.08x (?)
FrequenciesUsingReduce 5278 4907 -7.0% 1.08x (?)
ObjectiveCBridgeFromNSArrayAnyObject 27264 25506 -6.4% 1.07x (?)
RemoveWhereFilterInts 47 44 -6.4% 1.07x
ObjectiveCBridgeFromNSSetAnyObject 52034 49060 -5.7% 1.06x (?)
CharIteration_utf16_unicodeScalars_Backwards 18542 17546 -5.4% 1.06x
ObjectiveCBridgeToNSSet 18179 17229 -5.2% 1.06x (?)
PrefixWhileSequence 346 328 -5.2% 1.05x
CharIteration_tweet_unicodeScalars_Backwards 30565 29084 -4.8% 1.05x
No Changes (409)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3908 3811 -2.5% 1.03x (?)
AnyHashableWithAClass 91008 91070 +0.1% 1.00x (?)
Array2D 2719 2718 -0.0% 1.00x
ArrayAppend 798 800 +0.3% 1.00x (?)
ArrayAppendArrayOfInt 792 797 +0.6% 0.99x (?)
ArrayAppendAscii 3970 3919 -1.3% 1.01x (?)
ArrayAppendAsciiSubstring 24747 24864 +0.5% 1.00x
ArrayAppendFromGeneric 804 801 -0.4% 1.00x (?)
ArrayAppendGenericStructs 1432 1413 -1.3% 1.01x (?)
ArrayAppendLatin1 39253 39597 +0.9% 0.99x
ArrayAppendLatin1Substring 141699 140191 -1.1% 1.01x
ArrayAppendLazyMap 1345 1333 -0.9% 1.01x (?)
ArrayAppendOptionals 1434 1430 -0.3% 1.00x (?)
ArrayAppendRepeatCol 1340 1344 +0.3% 1.00x
ArrayAppendReserved 525 526 +0.2% 1.00x (?)
ArrayAppendSequence 1120 1122 +0.2% 1.00x
ArrayAppendStrings 6212 6221 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 800 805 +0.6% 0.99x (?)
ArrayAppendToGeneric 802 802 +0.0% 1.00x
ArrayAppendUTF16 39327 39226 -0.3% 1.00x
ArrayAppendUTF16Substring 142339 140416 -1.4% 1.01x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 152 +0.7% 0.99x (?)
ArrayOfGenericRef 4365 4392 +0.6% 0.99x
ArrayOfPOD 186 186 +0.0% 1.00x
ArrayOfRef 4353 4348 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 786 787 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 4244 4249 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 799 798 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1624 1631 +0.4% 1.00x
ArraySubscript 1570 1563 -0.4% 1.00x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 29 +3.6% 0.97x
BitCount 165 169 +2.4% 0.98x
ByteSwap 101 106 +5.0% 0.95x
COWTree 3697 3599 -2.7% 1.03x (?)
CSVParsing2 1713 1718 +0.3% 1.00x
CSVParsingAlt2 1762 1781 +1.1% 0.99x (?)
CSVParsingAltIndices2 759 776 +2.2% 0.98x (?)
CStringLongAscii 3284 3294 +0.3% 1.00x (?)
CStringLongNonAscii 2086 2087 +0.0% 1.00x (?)
CStringShortAscii 3161 3166 +0.2% 1.00x (?)
CaptureProp 4040 4082 +1.0% 0.99x
CharIndexing_ascii_unicodeScalars 16618 16768 +0.9% 0.99x
CharIndexing_ascii_unicodeScalars_Backwards 16443 16247 -1.2% 1.01x
CharIndexing_chinese_unicodeScalars 12600 12699 +0.8% 0.99x
CharIndexing_chinese_unicodeScalars_Backwards 12365 12303 -0.5% 1.01x
CharIndexing_japanese_unicodeScalars 19895 20054 +0.8% 0.99x
CharIndexing_japanese_unicodeScalars_Backwards 19570 19439 -0.7% 1.01x
CharIndexing_korean_unicodeScalars 16118 16243 +0.8% 0.99x
CharIndexing_korean_unicodeScalars_Backwards 15854 15742 -0.7% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3010 3045 +1.2% 0.99x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2968 2929 -1.3% 1.01x
CharIndexing_punctuated_unicodeScalars 3782 3803 +0.6% 0.99x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3711 3667 -1.2% 1.01x
CharIndexing_russian_unicodeScalars 13849 13973 +0.9% 0.99x
CharIndexing_russian_unicodeScalars_Backwards 13702 13518 -1.3% 1.01x
CharIndexing_tweet_unicodeScalars 32769 32587 -0.6% 1.01x
CharIndexing_tweet_unicodeScalars_Backwards 31616 31862 +0.8% 0.99x
CharIndexing_utf16_unicodeScalars 22944 22741 -0.9% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 23058 23268 +0.9% 0.99x
CharIteration_ascii_unicodeScalars 20716 20103 -3.0% 1.03x
CharIteration_ascii_unicodeScalars_Backwards 15481 14916 -3.6% 1.04x
CharIteration_chinese_unicodeScalars 15680 15243 -2.8% 1.03x
CharIteration_chinese_unicodeScalars_Backwards 11726 11296 -3.7% 1.04x
CharIteration_japanese_unicodeScalars 24815 24092 -2.9% 1.03x
CharIteration_japanese_unicodeScalars_Backwards 18533 17865 -3.6% 1.04x
CharIteration_korean_unicodeScalars 20085 19542 -2.7% 1.03x
CharIteration_korean_unicodeScalars_Backwards 15014 14459 -3.7% 1.04x
CharIteration_punctuatedJapanese_unicodeScalars 3707 3594 -3.0% 1.03x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2799 2699 -3.6% 1.04x
CharIteration_punctuated_unicodeScalars 4651 4554 -2.1% 1.02x
CharIteration_punctuated_unicodeScalars_Backwards 3505 3378 -3.6% 1.04x
CharIteration_russian_unicodeScalars 17268 16780 -2.8% 1.03x
CharIteration_russian_unicodeScalars_Backwards 12903 12437 -3.6% 1.04x
CharIteration_tweet_unicodeScalars 40909 39764 -2.8% 1.03x
CharIteration_utf16_unicodeScalars 27519 27314 -0.7% 1.01x
CharacterLiteralsLarge 5849 5813 -0.6% 1.01x (?)
CharacterLiteralsSmall 217 220 +1.4% 0.99x
CharacterPropertiesFetch 4460 4495 +0.8% 0.99x (?)
CharacterPropertiesPrecomputed 977 969 -0.8% 1.01x
CharacterPropertiesStashed 1661 1678 +1.0% 0.99x (?)
CharacterPropertiesStashedMemo 1449 1419 -2.1% 1.02x
Chars2 2636 2626 -0.4% 1.00x
ClassArrayGetter2 126 126 +0.0% 1.00x
Combos 503 504 +0.2% 1.00x (?)
DataAccessBytes 1139 1132 -0.6% 1.01x
DataAppendArray 5768 5760 -0.1% 1.00x (?)
DataAppendBytes 5239 5258 +0.4% 1.00x (?)
DataAppendDataLargeToLarge 68628 70403 +2.6% 0.97x (?)
DataAppendDataLargeToMedium 35840 35968 +0.4% 1.00x (?)
DataAppendDataLargeToSmall 35224 34933 -0.8% 1.01x (?)
DataAppendDataMediumToLarge 38600 37989 -1.6% 1.02x
DataAppendDataMediumToMedium 6910 6685 -3.3% 1.03x (?)
DataAppendDataMediumToSmall 6310 6202 -1.7% 1.02x (?)
DataAppendDataSmallToLarge 37496 37891 +1.1% 0.99x (?)
DataAppendDataSmallToMedium 6463 6477 +0.2% 1.00x (?)
DataAppendDataSmallToSmall 6446 6340 -1.6% 1.02x
DataAppendSequence 21166 21451 +1.3% 0.99x (?)
DataCopyBytes 532 532 +0.0% 1.00x
DataMutateBytes 3927 3969 +1.1% 0.99x (?)
DataReplaceLarge 36743 37071 +0.9% 0.99x (?)
DataReplaceLargeBuffer 59248 59949 +1.2% 0.99x (?)
DataReplaceMedium 7980 8229 +3.1% 0.97x (?)
DataReplaceMediumBuffer 13768 14298 +3.8% 0.96x
DataReplaceSmall 5947 5880 -1.1% 1.01x (?)
DataReset 2864 2809 -1.9% 1.02x (?)
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 833 802 -3.7% 1.04x (?)
Dictionary 515 502 -2.5% 1.03x
Dictionary2 620 618 -0.3% 1.00x
Dictionary2OfObjects 2073 2073 +0.0% 1.00x
Dictionary3 215 215 +0.0% 1.00x
Dictionary3OfObjects 733 732 -0.1% 1.00x (?)
Dictionary4 310 301 -2.9% 1.03x
Dictionary4Legacy 669 675 +0.9% 0.99x (?)
Dictionary4OfObjects 418 420 +0.5% 1.00x
Dictionary4OfObjectsLegacy 913 923 +1.1% 0.99x
DictionaryBridge 1238 1231 -0.6% 1.01x (?)
DictionaryBridgeToObjC_Access 943 905 -4.0% 1.04x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 165 163 -1.2% 1.01x (?)
DictionaryCompactMapValuesOfCastValue 13591 13380 -1.6% 1.02x (?)
DictionaryCompactMapValuesOfNilValue 6607 6455 -2.3% 1.02x (?)
DictionaryCopy 98672 99205 +0.5% 0.99x (?)
DictionaryFilter 99168 98776 -0.4% 1.00x
DictionaryGroup 201 201 +0.0% 1.00x
DictionaryGroupOfObjects 2087 2079 -0.4% 1.00x (?)
DictionaryKeysContainsCocoa 42 40 -4.8% 1.05x (?)
DictionaryKeysContainsNative 30 30 +0.0% 1.00x
DictionaryLiteral 1830 1825 -0.3% 1.00x (?)
DictionaryOfObjects 2366 2366 +0.0% 1.00x
DictionaryRemove 3732 3718 -0.4% 1.00x (?)
DictionaryRemoveOfObjects 25154 25070 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 244 244 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 603 599 -0.7% 1.01x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3996 4002 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1676 1675 -0.1% 1.00x (?)
DictionarySwap 940 939 -0.1% 1.00x
DictionarySwapAt 6345 6075 -4.3% 1.04x (?)
DictionarySwapAtOfObjects 52119 52609 +0.9% 0.99x
DictionarySwapOfObjects 8587 8734 +1.7% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1842 1843 +0.1% 1.00x
DropFirstAnySequenceLazy 1843 1841 -0.1% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 29 29 +0.0% 1.00x
DropFirstCountableRangeLazy 29 29 +0.0% 1.00x
DropFirstSequence 2680 2681 +0.0% 1.00x (?)
DropFirstSequenceLazy 2771 2774 +0.1% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 22423 22728 +1.4% 0.99x (?)
DropLastAnySeqCRangeIter 3299 3307 +0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3306 3307 +0.0% 1.00x (?)
DropLastAnySeqCntRange 9 9 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 9 9 +0.0% 1.00x
DropLastAnySequence 4918 4942 +0.5% 1.00x (?)
DropLastAnySequenceLazy 5016 5045 +0.6% 0.99x (?)
DropLastSequence 668 647 -3.1% 1.03x
DropLastSequenceLazy 669 641 -4.2% 1.04x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 148 +0.7% 0.99x
DropWhileAnySeqCRangeIter 75 75 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 1854 1855 +0.1% 1.00x (?)
DropWhileAnySequenceLazy 1855 1855 +0.0% 1.00x
DropWhileArrayLazy 105 105 +0.0% 1.00x
DropWhileCountableRange 30 30 +0.0% 1.00x
DropWhileCountableRangeLazy 82 82 +0.0% 1.00x
DropWhileSequence 2221 2219 -0.1% 1.00x
DropWhileSequenceLazy 105 105 +0.0% 1.00x
EqualStringSubstring 49 48 -2.0% 1.02x
EqualSubstringString 48 49 +2.1% 0.98x (?)
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 1203 1190 -1.1% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1352 1340 -0.9% 1.01x (?)
FilterEvenUsingReduceInto 158 160 +1.3% 0.99x (?)
FloatingPointPrinting_Double_description_small 21611 21568 -0.2% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 21061 20984 -0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 61555 60990 -0.9% 1.01x (?)
FloatingPointPrinting_Float80_description_small 28571 28420 -0.5% 1.01x (?)
FloatingPointPrinting_Float80_description_uniform 27616 27614 -0.0% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 64696 64629 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_small 5728 5704 -0.4% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 5799 5764 -0.6% 1.01x
FloatingPointPrinting_Float_interpolated 38119 37999 -0.3% 1.00x
FrequenciesUsingReduceInto 1518 1515 -0.2% 1.00x (?)
Hanoi 2105 2127 +1.0% 0.99x
HashTest 952 940 -1.3% 1.01x (?)
Histogram 590 583 -1.2% 1.01x
Integrate 334 339 +1.5% 0.99x
IterateData 1455 1407 -3.3% 1.03x
Join 161 161 +0.0% 1.00x
LazilyFilteredArrayContains 33488 34669 +3.5% 0.97x
LazilyFilteredArrays2 4595 4566 -0.6% 1.01x
LazilyFilteredRange 3669 3767 +2.7% 0.97x
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7596 7563 -0.4% 1.00x (?)
LuhnAlgoEager 449 445 -0.9% 1.01x
LuhnAlgoLazy 444 441 -0.7% 1.01x
MapReduceAnyCollection 370 370 +0.0% 1.00x
MapReduceAnyCollectionShort 2002 1989 -0.6% 1.01x (?)
MapReduceClass 2981 2980 -0.0% 1.00x (?)
MapReduceClassShort 4604 4518 -1.9% 1.02x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 470 478 +1.7% 0.98x
MapReduceShort 1981 1968 -0.7% 1.01x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 47 45 -4.3% 1.04x
Memset 217 215 -0.9% 1.01x (?)
MonteCarloE 10286 10369 +0.8% 0.99x
MonteCarloPi 42886 42841 -0.1% 1.00x (?)
NSDictionaryCastToSwift 7311 7120 -2.6% 1.03x (?)
NSError 164 164 +0.0% 1.00x
NSStringConversion 698 675 -3.3% 1.03x
NibbleSort 3282 3281 -0.0% 1.00x (?)
ObjectAllocation 132 132 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObjectForced 5080 5022 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 47444 46168 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 114943 111001 -3.4% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5276 5108 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72484 76107 +5.0% 0.95x
ObjectiveCBridgeFromNSStringForced 2746 2742 -0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6540 6622 +1.3% 0.99x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2641 2694 +2.0% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString2 4055 4028 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSDate2 1639 1630 -0.5% 1.01x (?)
ObjectiveCBridgeStubToNSString 2343 2348 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 121 124 +2.5% 0.98x
ObjectiveCBridgeStubURLAppendPath2 2837 2850 +0.5% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef2 2851 2912 +2.1% 0.98x (?)
ObjectiveCBridgeToNSArray 14757 15505 +5.1% 0.95x (?)
ObjectiveCBridgeToNSString 454 456 +0.4% 1.00x
ObserverClosure 2149 2152 +0.1% 1.00x (?)
ObserverForwarderStruct 1196 1188 -0.7% 1.01x (?)
ObserverPartiallyAppliedMethod 3698 3714 +0.4% 1.00x (?)
ObserverUnappliedMethod 2452 2457 +0.2% 1.00x (?)
OpaqueConsumingUsers 4180 4179 -0.0% 1.00x (?)
OpenClose 68 65 -4.4% 1.05x
Phonebook 6827 6830 +0.0% 1.00x (?)
PointerArithmetics 31505 31485 -0.1% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1811 1791 -1.1% 1.01x (?)
PopFrontArrayGeneric 1814 1833 +1.0% 0.99x (?)
PopFrontUnsafePointer 8721 8874 +1.8% 0.98x
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 66632 67578 +1.4% 0.99x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1378 1378 +0.0% 1.00x
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 29 29 +0.0% 1.00x
PrefixCountableRangeLazy 29 29 +0.0% 1.00x
PrefixSequence 2224 2224 +0.0% 1.00x
PrefixSequenceLazy 2276 2274 -0.1% 1.00x (?)
PrefixWhileAnyCollection 146 147 +0.7% 0.99x
PrefixWhileAnyCollectionLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 386 374 -3.1% 1.03x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySequence 1512 1512 +0.0% 1.00x
PrefixWhileAnySequenceLazy 1392 1389 -0.2% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 907 907 +0.0% 1.00x
PrimsSplit 901 902 +0.1% 1.00x (?)
QueueConcrete 1138 1139 +0.1% 1.00x (?)
QueueGeneric 1131 1130 -0.1% 1.00x (?)
RC4 154 156 +1.3% 0.99x
RGBHistogram 2433 2434 +0.0% 1.00x (?)
RGBHistogramOfObjects 20111 20167 +0.3% 1.00x (?)
Radix2CooleyTukey 12194 12180 -0.1% 1.00x (?)
Radix2CooleyTukeyf 9003 8755 -2.8% 1.03x
RandomDoubleDef 26732 26844 +0.4% 1.00x
RandomDoubleLCG 2147 2205 +2.7% 0.97x
RandomIntegersDef 24356 24455 +0.4% 1.00x (?)
RandomIntegersLCG 178 178 +0.0% 1.00x
RandomShuffleDef2 2579 2589 +0.4% 1.00x
RandomShuffleLCG2 1816 1809 -0.4% 1.00x (?)
RangeAssignment 351 337 -4.0% 1.04x
RangeReplaceableCollectionPlusDefault 1062 1064 +0.2% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterString 243 244 +0.4% 1.00x (?)
RemoveWhereFilterStrings 439 437 -0.5% 1.00x
RemoveWhereMoveStrings 707 709 +0.3% 1.00x
RemoveWhereQuadraticInts 1290 1286 -0.3% 1.00x
RemoveWhereQuadraticString 363 367 +1.1% 0.99x (?)
RemoveWhereQuadraticStrings 2749 2753 +0.1% 1.00x (?)
RemoveWhereSwapInts 19 20 +5.3% 0.95x
RemoveWhereSwapStrings 863 863 +0.0% 1.00x
ReversedBidirectional 13941 13819 -0.9% 1.01x (?)
ReversedDictionary2 317 316 -0.3% 1.00x
RomanNumbers 89081 88387 -0.8% 1.01x
SequenceAlgosAnySequence 12557 12595 +0.3% 1.00x (?)
SequenceAlgosArray 1576 1580 +0.3% 1.00x (?)
SequenceAlgosContiguousArray 1579 1578 -0.1% 1.00x (?)
SequenceAlgosList 1352 1353 +0.1% 1.00x (?)
SequenceAlgosRange 2577 2579 +0.1% 1.00x
SequenceAlgosUnfoldSequence 1105 1105 +0.0% 1.00x
SetExclusiveOr 4808 4776 -0.7% 1.01x (?)
SetExclusiveOr_OfObjects 11280 11317 +0.3% 1.00x (?)
SetIntersect 580 590 +1.7% 0.98x
SetIntersect_OfObjects 1651 1651 +0.0% 1.00x
SetIsSubsetOf 323 323 +0.0% 1.00x
SetIsSubsetOf_OfObjects 432 431 -0.2% 1.00x
SetUnion 4118 4113 -0.1% 1.00x (?)
SetUnion_OfObjects 9700 9767 +0.7% 0.99x
SevenBoom 841 833 -1.0% 1.01x
SortLargeExistentials 5398 5417 +0.4% 1.00x (?)
SortLettersInPlace 960 949 -1.1% 1.01x
SortSortedStrings 671 667 -0.6% 1.01x
SortStrings 1447 1439 -0.6% 1.01x
SortStringsUnicode 2018 2008 -0.5% 1.00x
StackPromo 24862 24731 -0.5% 1.01x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1781 1781 +0.0% 1.00x
StrToInt 3210 3212 +0.1% 1.00x (?)
StringAdder 548 548 +0.0% 1.00x
StringBuilder 489 491 +0.4% 1.00x
StringBuilderLong 1274 1217 -4.5% 1.05x (?)
StringBuilderSmallReservingCapacity 501 501 +0.0% 1.00x
StringComparison_abnormal 785 773 -1.5% 1.02x (?)
StringComparison_ascii 979 938 -4.2% 1.04x
StringComparison_emoji 849 842 -0.8% 1.01x (?)
StringComparison_fastPrenormal 813 811 -0.2% 1.00x
StringComparison_latin1 633 636 +0.5% 1.00x
StringComparison_longSharedPrefix 947 943 -0.4% 1.00x
StringComparison_nonBMPSlowestPrenormal 1651 1671 +1.2% 0.99x
StringComparison_slowerPrenormal 1793 1781 -0.7% 1.01x
StringComparison_zalgo 112532 112620 +0.1% 1.00x (?)
StringEdits 174813 174076 -0.4% 1.00x (?)
StringEnumRawValueInitialization 856 861 +0.6% 0.99x
StringEqualPointerComparison 315 314 -0.3% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2205 2233 +1.3% 0.99x
StringHasPrefixUnicode 99672 99646 -0.0% 1.00x (?)
StringHasSuffixAscii 2320 2292 -1.2% 1.01x
StringHasSuffixUnicode 99316 98793 -0.5% 1.01x (?)
StringHashing_abnormal 1363 1359 -0.3% 1.00x (?)
StringHashing_ascii 35 35 +0.0% 1.00x
StringHashing_emoji 1986 2039 +2.7% 0.97x (?)
StringHashing_fastPrenormal 8321 8341 +0.2% 1.00x (?)
StringHashing_latin1 2593 2580 -0.5% 1.01x (?)
StringHashing_longSharedPrefix 7628 7596 -0.4% 1.00x
StringHashing_nonBMPSlowestPrenormal 2264 2167 -4.3% 1.04x (?)
StringHashing_slowerPrenormal 2757 2748 -0.3% 1.00x (?)
StringHashing_zalgo 3550 3545 -0.1% 1.00x (?)
StringInterpolation 8863 9052 +2.1% 0.98x (?)
StringInterpolationManySmallSegments 17848 17705 -0.8% 1.01x (?)
StringInterpolationSmall 3964 3951 -0.3% 1.00x
StringMatch 12370 12337 -0.3% 1.00x (?)
StringRemoveDupes 483 471 -2.5% 1.03x
StringUTF16Builder 2552 2566 +0.5% 0.99x (?)
StringUTF16SubstringBuilder 5643 5912 +4.8% 0.95x (?)
StringWalk 1554 1545 -0.6% 1.01x
StringWithCString2 1692 1694 +0.1% 1.00x (?)
StringWordBuilder 2319 2272 -2.0% 1.02x
StringWordBuilderReservingCapacity 1635 1639 +0.2% 1.00x
SubstringEqualString 606 609 +0.5% 1.00x (?)
SubstringEquatable 1428 1411 -1.2% 1.01x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 23016 23211 +0.8% 0.99x (?)
SuffixAnySeqCRangeIter 3603 3610 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3598 3609 +0.3% 1.00x (?)
SuffixAnySeqCntRange 14 14 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 14 14 +0.0% 1.00x
SuffixAnySequence 4911 4904 -0.1% 1.00x (?)
SuffixAnySequenceLazy 4982 5144 +3.3% 0.97x
SuffixSequence 3632 3620 -0.3% 1.00x (?)
SuffixSequenceLazy 3644 3613 -0.9% 1.01x
SumUsingReduce 97 102 +5.2% 0.95x
SumUsingReduceInto 97 102 +5.2% 0.95x
SuperChars 19142 19408 +1.4% 0.99x
TwoSum 1384 1369 -1.1% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 301 305 +1.3% 0.99x
UTF8Decode_InitDecoding 1344 1344 +0.0% 1.00x
UTF8Decode_InitDecoding_ascii 656 655 -0.2% 1.00x (?)
UTF8Decode_InitFromBytes 1181 1197 +1.4% 0.99x (?)
UTF8Decode_InitFromData 1257 1258 +0.1% 1.00x (?)
Walsh 412 415 +0.7% 0.99x
WordCountHistogramASCII 6796 6740 -0.8% 1.01x
WordCountHistogramUTF16 10141 10086 -0.5% 1.01x (?)
WordCountUniqueASCII 2016 2010 -0.3% 1.00x
WordCountUniqueUTF16 4753 4583 -3.6% 1.04x (?)
XorLoop 396 397 +0.3% 1.00x (?)
Added (2)
TEST MIN MAX MEAN MAX_RSS
SortAdjacentIntPyramids 11606 11614 11610 8790016
SortIntPyramid 20402 20430 20417 8757248
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@airspeedswift
Copy link
Member

This looks good, thanks!

@airspeedswift
Copy link
Member

@swift-ci please smoke test and merge

@airspeedswift
Copy link
Member

Cmon @swift-ci please smoke test and merge

@swift-ci swift-ci merged commit 63665cd into swiftlang:master Aug 16, 2018
@kchibisov kchibisov deleted the HeapSortBenchmark branch August 16, 2018 04:11
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.

3 participants