Skip to content

stdlib: make Array implementation internal #3429

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

Closed
wants to merge 13 commits into from

Conversation

gribozavr
Copy link
Contributor

Hide some implementation details of array types.


Before merging this pull request to apple/swift repository:

  • Test pull request on Swift continuous integration.

Triggering Swift CI

The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:

Smoke Testing

Platform Comment
All supported platforms @swift-ci Please smoke test
All supported platforms @swift-ci Please smoke test and merge
OS X platform @swift-ci Please smoke test OS X platform
Linux platform @swift-ci Please smoke test Linux platform

Validation Testing

Platform Comment
All supported platforms @swift-ci Please test
All supported platforms @swift-ci Please test and merge
OS X platform @swift-ci Please test OS X platform
OS X platform @swift-ci Please benchmark
Linux platform @swift-ci Please test Linux platform

Lint Testing

Language Comment
Python @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2016

Build comment file:


@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2016

Build comment file:

Optimized (O)

Regression (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubNSDateRefAccess 309 339 +9.7% 0.91x(?)
ClassArrayGetter 11 12 +9.1% 0.92x(?)
ArrayOfGenericRef 3448 3655 +6.0% 0.94x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 165697 175793 +6.1% 0.94x(?)

Improvement (5)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
Calculator 34 32 -5.9% 1.06x
ArrayInClass 87 82 -5.8% 1.06x(?)
MapReduce 416 388 -6.7% 1.07x(?)
ObjectiveCBridgeFromNSStringForced 2561 2286 -10.7% 1.12x
PopFrontArrayGeneric 1152 0 -100.0% 1152001.00x

No Changes (125)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectToString 173458 166800 -3.8% 1.04x
StringHasPrefix 680 655 -3.7% 1.04x
OpenClose 55 53 -3.6% 1.04x
ObjectiveCBridgeStubToNSDateRef 3381 3262 -3.5% 1.04x
ObjectiveCBridgeStubURLAppendPath 206031 199063 -3.4% 1.04x(?)
NSDictionaryCastToSwift 13528 13061 -3.5% 1.04x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 123378 118632 -3.9% 1.04x
ObjectiveCBridgeStubFromNSDateRef 3688 3589 -2.7% 1.03x(?)
Prims 767 745 -2.9% 1.03x(?)
ObjectiveCBridgeFromNSString 1656 1614 -2.5% 1.03x(?)
ObjectiveCBridgeStubToNSString 1262 1228 -2.7% 1.03x(?)
StaticArray 2756 2688 -2.5% 1.03x(?)
StringHasSuffixUnicode 65983 64268 -2.6% 1.03x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 138252 134765 -2.5% 1.03x(?)
Dictionary 757 736 -2.8% 1.03x
ObjectiveCBridgeStubToArrayOfNSString 31724 30877 -2.7% 1.03x
StringHasSuffix 766 742 -3.1% 1.03x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4246 4142 -2.5% 1.03x(?)
Chars 647 626 -3.2% 1.03x(?)
ObjectiveCBridgeStubFromNSDate 3490 3385 -3.0% 1.03x(?)
DictionarySwap 788 775 -1.6% 1.02x(?)
SuperChars 354548 348384 -1.7% 1.02x(?)
HashTest 2060 2015 -2.2% 1.02x
ArrayOfRef 3578 3499 -2.2% 1.02x(?)
DictionaryLiteral 4563 4474 -1.9% 1.02x(?)
NopDeinit 36219 35552 -1.8% 1.02x
SetIntersect 1178 1159 -1.6% 1.02x(?)
StringHasPrefixUnicode 15563 15329 -1.5% 1.02x(?)
RGBHistogramOfObjects 22223 21751 -2.1% 1.02x(?)
ArrayAppendReserved 526 515 -2.1% 1.02x(?)
SetUnion 3365 3298 -2.0% 1.02x
ObjectiveCBridgeStubNSDateMutationRef 12112 11823 -2.4% 1.02x(?)
SortStrings 1775 1750 -1.4% 1.01x(?)
SortLettersInPlace 968 958 -1.0% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 247433 245198 -0.9% 1.01x(?)
Dictionary3OfObjects 883 878 -0.6% 1.01x(?)
StringInterpolation 11465 11353 -1.0% 1.01x(?)
AngryPhonebook 2860 2844 -0.6% 1.01x(?)
ErrorHandling 3081 3045 -1.2% 1.01x(?)
ArrayAppend 743 739 -0.5% 1.01x(?)
ObjectiveCBridgeToNSArray 32542 32351 -0.6% 1.01x
PopFrontUnsafePointer 9058 9002 -0.6% 1.01x
DictionaryRemoveOfObjects 20125 19985 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObject 66258 65811 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 158197 157332 -0.6% 1.01x(?)
ObjectiveCBridgeToNSDictionary 16336 16208 -0.8% 1.01x(?)
RC4 255 253 -0.8% 1.01x(?)
DictionaryRemove 5057 5019 -0.8% 1.01x(?)
RGBHistogram 3152 3128 -0.8% 1.01x(?)
TwoSum 1934 1906 -1.4% 1.01x(?)
ObjectiveCBridgeToNSString 1060 1055 -0.5% 1.00x(?)
DictionarySwapOfObjects 6723 6693 -0.5% 1.00x(?)
StackPromo 19023 19019 -0.0% 1.00x(?)
RecursiveOwnedParameter 1830 1837 +0.4% 1.00x
Array2D 2025 2028 +0.1% 1.00x(?)
Histogram 659 660 +0.1% 1.00x(?)
MonteCarloPi 42605 42560 -0.1% 1.00x(?)
StringWithCString 587332 586484 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3727 3731 +0.1% 1.00x(?)
RangeAssignment 327 327 +0.0% 1.00x
ByteSwap 1 1 +0.0% 1.00x
XorLoop 360 360 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
ProtocolDispatch2 157 157 +0.0% 1.00x
Dictionary3 530 528 -0.4% 1.00x(?)
Dictionary2 1898 1900 +0.1% 1.00x(?)
SetIntersect_OfObjects 2344 2350 +0.3% 1.00x(?)
ObjectiveCBridgeStubDateMutation 267 267 +0.0% 1.00x
NSError 329 328 -0.3% 1.00x(?)
DictionaryOfObjects 2253 2248 -0.2% 1.00x(?)
StringEqualPointerComparison 7320 7336 +0.2% 1.00x(?)
ArrayOfGenericPOD 207 208 +0.5% 1.00x(?)
UTF8Decode 309 310 +0.3% 1.00x(?)
SetIsSubsetOf 487 487 +0.0% 1.00x
StringBuilder 1533 1529 -0.3% 1.00x(?)
Phonebook 7246 7253 +0.1% 1.00x(?)
SetExclusiveOr_OfObjects 8452 8490 +0.5% 1.00x(?)
MonteCarloE 10063 10043 -0.2% 1.00x(?)
SetIsSubsetOf_OfObjects 611 611 +0.0% 1.00x
LinkedList 6862 6847 -0.2% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
ArrayLiteral 1020 1022 +0.2% 1.00x(?)
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 111439 111401 -0.0% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
Dictionary2OfObjects 3331 3345 +0.4% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2350 2350 +0.0% 1.00x
SevenBoom 1333 1332 -0.1% 1.00x(?)
ArraySubscript 1349 1362 +1.0% 0.99x(?)
PopFrontArray 1139 1148 +0.8% 0.99x(?)
DictionaryBridge 3826 3872 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4734 4763 +0.6% 0.99x(?)
ObjectiveCBridgeStubToNSDate 13161 13248 +0.7% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObject 111196 112487 +1.2% 0.99x(?)
StrComplexWalk 3001 3043 +1.4% 0.99x(?)
CaptureProp 4170 4191 +0.5% 0.99x(?)
SortStringsUnicode 9291 9423 +1.4% 0.99x(?)
ObjectiveCBridgeStubDataAppend 2857 2878 +0.7% 0.99x(?)
SetExclusiveOr 3812 3835 +0.6% 0.99x(?)
ObjectiveCBridgeStubDateAccess 180 181 +0.6% 0.99x(?)
Sim2DArray 438 443 +1.1% 0.99x(?)
ObjectiveCBridgeToNSSet 16056 16272 +1.4% 0.99x(?)
ArrayOfPOD 171 172 +0.6% 0.99x
133 3617847 3668175 +1.4% 0.99x
DeadArray 181 183 +1.1% 0.99x
StringWalk 5580 5615 +0.6% 0.99x(?)
Integrate 239 245 +2.5% 0.98x(?)
Join 455 462 +1.5% 0.98x
ObjectiveCBridgeStubFromNSString 651 663 +1.8% 0.98x(?)
ObjectAllocation 144 147 +2.1% 0.98x(?)
ObjectiveCBridgeStubURLAppendPathRef 202998 206360 +1.7% 0.98x
PolymorphicCalls 61 62 +1.6% 0.98x(?)
ObjectiveCBridgeStubToNSStringRef 117 120 +2.6% 0.98x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 208302 214917 +3.2% 0.97x(?)
ProtocolDispatch 2964 3043 +2.7% 0.97x
SetUnion_OfObjects 7026 7232 +2.9% 0.97x
NSStringConversion 574 592 +3.1% 0.97x(?)
StrToInt 4994 5144 +3.0% 0.97x
ObjectiveCBridgeStubFromNSStringRef 130 135 +3.9% 0.96x(?)
Hanoi 3188 3313 +3.9% 0.96x
Walsh 329 343 +4.3% 0.96x(?)
**Unoptimized (Onone)**

Regression (7)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StrComplexWalk 7725 8741 +13.2% 0.88x(?)
StrToInt 5556 6221 +12.0% 0.89x
ArrayOfGenericPOD 3356 3697 +10.2% 0.91x
ObjectiveCBridgeFromNSArrayAnyObjectToString 170918 183468 +7.3% 0.93x(?)
NopDeinit 57208 61325 +7.2% 0.93x(?)
ObjectiveCBridgeStubFromNSString 656 701 +6.9% 0.94x
ProtocolDispatch2 453 483 +6.6% 0.94x

Improvement (6)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ProtocolDispatch 5916 5607 -5.2% 1.06x(?)
ObjectiveCBridgeStubDateMutation 493 461 -6.5% 1.07x
ArrayAppend 3715 3358 -9.6% 1.11x(?)
ObjectiveCBridgeFromNSStringForced 3033 2668 -12.0% 1.14x
StringWalk 47816 26363 -44.9% 1.81x
PopFrontArrayGeneric 11174 0 -100.0% 11174001.00x

No Changes (121)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeToNSSet 16896 16107 -4.7% 1.05x
NSDictionaryCastToSwift 15253 14660 -3.9% 1.04x(?)
ArrayAppendReserved 3338 3219 -3.6% 1.04x(?)
ObjectiveCBridgeToNSString 1134 1096 -3.4% 1.03x
SortStrings 2675 2586 -3.3% 1.03x
Prims 14706 14343 -2.5% 1.03x(?)
ObjectiveCBridgeToNSArray 32381 31540 -2.6% 1.03x(?)
ObjectiveCBridgeStubDateAccess 1131 1100 -2.7% 1.03x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 128137 123915 -3.3% 1.03x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7254 7084 -2.3% 1.02x(?)
SortLettersInPlace 2565 2523 -1.6% 1.02x(?)
StringInterpolation 16237 15978 -1.6% 1.02x
StringHasPrefix 1618 1589 -1.8% 1.02x(?)
ArrayOfRef 9025 8847 -2.0% 1.02x(?)
CaptureProp 118527 115807 -2.3% 1.02x(?)
PolymorphicCalls 1183 1165 -1.5% 1.02x(?)
PopFrontArray 24397 23924 -1.9% 1.02x
ObjectiveCBridgeFromNSSetAnyObjectForced 7817 7695 -1.6% 1.02x(?)
ObjectiveCBridgeStubFromArrayOfNSString 113823 112130 -1.5% 1.02x(?)
DictionarySwapOfObjects 26143 25904 -0.9% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 227507 224974 -1.1% 1.01x(?)
Dictionary3OfObjects 2711 2692 -0.7% 1.01x
RangeAssignment 23591 23285 -1.3% 1.01x(?)
StringHasSuffix 1598 1579 -1.2% 1.01x(?)
NSError 685 679 -0.9% 1.01x(?)
ObjectiveCBridgeStubToNSDateRef 3244 3217 -0.8% 1.01x(?)
ObjectiveCBridgeStubToNSStringRef 156 155 -0.6% 1.01x(?)
Calculator 974 967 -0.7% 1.01x(?)
SetExclusiveOr 46292 45938 -0.8% 1.01x(?)
StringBuilder 2895 2865 -1.0% 1.01x(?)
Phonebook 64866 64109 -1.2% 1.01x(?)
Sim2DArray 14226 14093 -0.9% 1.01x(?)
ObjectiveCBridgeToNSDictionary 16515 16388 -0.8% 1.01x(?)
StringHasPrefixUnicode 16968 16878 -0.5% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 171099 170074 -0.6% 1.01x(?)
RGBHistogram 52070 51443 -1.2% 1.01x(?)
ObjectiveCBridgeStubNSDataAppend 5227 5179 -0.9% 1.01x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 175723 173760 -1.1% 1.01x(?)
StackPromo 132482 132649 +0.1% 1.00x(?)
Array2D 801822 803519 +0.2% 1.00x(?)
DictionaryBridge 3908 3908 +0.0% 1.00x
MonteCarloPi 51358 51255 -0.2% 1.00x(?)
StringWithCString 729877 732774 +0.4% 1.00x
DictionarySwap 11118 11161 +0.4% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
SuperChars 517042 518472 +0.3% 1.00x(?)
XorLoop 18677 18665 -0.1% 1.00x(?)
StaticArray 27340 27385 +0.2% 1.00x(?)
ArrayLiteral 1087 1084 -0.3% 1.00x(?)
SetIntersect_OfObjects 19352 19370 +0.1% 1.00x(?)
DictionaryOfObjects 5634 5647 +0.2% 1.00x(?)
MapReduce 44729 44944 +0.5% 1.00x(?)
DictionaryLiteral 24589 24574 -0.1% 1.00x(?)
Hanoi 19651 19581 -0.4% 1.00x(?)
OpenClose 461 460 -0.2% 1.00x(?)
UTF8Decode 43064 43033 -0.1% 1.00x(?)
SortStringsUnicode 10304 10291 -0.1% 1.00x(?)
Dictionary 2788 2784 -0.1% 1.00x(?)
SetIntersect 19472 19480 +0.0% 1.00x(?)
ObjectiveCBridgeStubDataAppend 3214 3213 -0.0% 1.00x(?)
RGBHistogramOfObjects 101059 101491 +0.4% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 1290 1289 -0.1% 1.00x(?)
ArrayInClass 3671 3680 +0.2% 1.00x(?)
SetExclusiveOr_OfObjects 65971 65657 -0.5% 1.00x(?)
MonteCarloE 107123 106984 -0.1% 1.00x(?)
SetUnion_OfObjects 49511 49681 +0.3% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Walsh 12458 12461 +0.0% 1.00x(?)
LinkedList 26105 26088 -0.1% 1.00x(?)
NSStringConversion 2780 2779 -0.0% 1.00x(?)
DeadArray 131865 132283 +0.3% 1.00x(?)
AngryPhonebook 3678 3671 -0.2% 1.00x(?)
RC4 8621 8591 -0.3% 1.00x
Memset 19879 19905 +0.1% 1.00x(?)
Dictionary2OfObjects 7016 7033 +0.2% 1.00x(?)
SevenBoom 1515 1519 +0.3% 1.00x(?)
ArraySubscript 5452 5506 +1.0% 0.99x(?)
RecursiveOwnedParameter 7639 7680 +0.5% 0.99x(?)
ObjectiveCBridgeStubToNSString 1306 1318 +0.9% 0.99x(?)
ClassArrayGetter 1259 1271 +0.9% 0.99x
Histogram 14101 14257 +1.1% 0.99x(?)
133 6699473 6769042 +1.0% 0.99x
ErrorHandling 3914 3952 +1.0% 0.99x(?)
ObjectiveCBridgeStubFromNSStringRef 166 167 +0.6% 0.99x(?)
ObjectAllocation 536 542 +1.1% 0.99x(?)
HashTest 5440 5493 +1.0% 0.99x(?)
Dictionary3 2060 2071 +0.5% 0.99x(?)
Join 1473 1488 +1.0% 0.99x(?)
DictionaryRemoveOfObjects 61843 62648 +1.3% 0.99x(?)
SetIsSubsetOf 3045 3071 +0.8% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 31240 31651 +1.3% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 69407 70120 +1.0% 0.99x(?)
ArrayOfGenericRef 9663 9752 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSString 4767 4796 +0.6% 0.99x(?)
SetIsSubsetOf_OfObjects 2909 2928 +0.7% 0.99x(?)
ArrayValueProp 2275 2288 +0.6% 0.99x(?)
ObjectiveCBridgeStubNSDateMutationRef 14243 14441 +1.4% 0.99x(?)
ArrayValueProp4 2666 2680 +0.5% 0.99x(?)
TwoSum 9509 9564 +0.6% 0.99x(?)
ObjectiveCBridgeStubFromNSDate 3675 3720 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 258093 263096 +1.9% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7376 7551 +2.4% 0.98x(?)
ObjectiveCBridgeStubFromNSDateRef 3992 4057 +1.6% 0.98x(?)
Integrate 360 367 +1.9% 0.98x(?)
Dictionary2 5200 5300 +1.9% 0.98x(?)
DictionaryRemove 31130 31699 +1.8% 0.98x
SetUnion 31746 32351 +1.9% 0.98x(?)
ArrayValueProp3 2689 2750 +2.3% 0.98x(?)
ObjectiveCBridgeStubToNSDate 13455 13848 +2.9% 0.97x(?)
ObjectiveCBridgeFromNSSetAnyObject 117224 121287 +3.5% 0.97x
ObjectiveCBridgeStubURLAppendPathRef 207258 212607 +2.6% 0.97x(?)
PopFrontUnsafePointer 244770 252271 +3.1% 0.97x(?)
StringEqualPointerComparison 9801 10060 +2.6% 0.97x(?)
Chars 5356 5538 +3.4% 0.97x(?)
ArrayOfPOD 2355 2443 +3.7% 0.96x(?)
TypeFlood 150 158 +5.3% 0.95x(?)
StringHasSuffixUnicode 63816 66951 +4.9% 0.95x(?)
ObjectiveCBridgeStubURLAppendPath 201885 213371 +5.7% 0.95x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 139839 147703 +5.6% 0.95x(?)
BitCount 93 98 +5.4% 0.95x(?)
ArrayValueProp2 2773 2912 +5.0% 0.95x(?)
**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

@slavapestov
Copy link
Contributor

Does this build with -enable-resilience?

@gribozavr gribozavr force-pushed the stdlib-make-array-implementation-internal branch from abda3de to f250e70 Compare July 12, 2016 09:17
@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@gribozavr
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@gribozavr
Copy link
Contributor Author

@slavapestov Sorry, I can't get this to build with resilience enabled. I'm getting:

SIL verification failed: function_ref inside fragile function cannot reference a private or hidden symbol: (SingleFunction && RefF->isExternalDeclaration()) || RefF->hasValidLinkageForFragileRef()
Verifying instruction:
->   // function_ref _ArrayBuffer.getElement(Int, wasNativeTypeChecked : Bool) -> A

_ArrayBuffer.getElement is marked @_versioned. Is this the right attribute to use?

@swift-ci
Copy link
Contributor

Build comment file:


@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
Calculator 29 34 +17.2% 0.85x
StringEqualPointerComparison 7401 8132 +9.9% 0.91x(?)
ClassArrayGetter 11 12 +9.1% 0.92x(?)
ObjectiveCBridgeStubFromNSDateRef 3490 3737 +7.1% 0.93x

Improvement (6)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 53 50 -5.7% 1.06x
NSStringConversion 602 570 -5.3% 1.06x
Walsh 343 314 -8.4% 1.09x
ObjectiveCBridgeStubNSDateRefAccess 342 307 -10.2% 1.11x
StringHasSuffix 759 665 -12.4% 1.14x
DictionaryLiteral 5056 4334 -14.3% 1.17x

No Changes (124)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 174780 166871 -4.5% 1.05x(?)
ObjectiveCBridgeStubNSDateMutationRef 12817 12179 -5.0% 1.05x
RangeAssignment 332 318 -4.2% 1.04x
StringHasPrefix 651 627 -3.7% 1.04x
ObjectAllocation 151 145 -4.0% 1.04x(?)
StrToInt 5317 5131 -3.5% 1.04x(?)
Dictionary2OfObjects 3412 3294 -3.5% 1.04x
ObjectiveCBridgeFromNSArrayAnyObjectToString 169632 165469 -2.5% 1.03x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4773 4644 -2.7% 1.03x
NSDictionaryCastToSwift 13284 12873 -3.1% 1.03x
ObjectiveCBridgeFromNSString 1644 1594 -3.0% 1.03x(?)
TwoSum 1961 1905 -2.9% 1.03x(?)
StringInterpolation 11534 11315 -1.9% 1.02x
ObjectiveCBridgeStubToNSString 1276 1257 -1.5% 1.02x(?)
ObjectiveCBridgeStubFromNSStringRef 129 126 -2.3% 1.02x(?)
Dictionary3 534 526 -1.5% 1.02x(?)
ObjectiveCBridgeToNSArray 32251 31593 -2.0% 1.02x(?)
NSError 330 323 -2.1% 1.02x(?)
CaptureProp 4200 4106 -2.2% 1.02x(?)
SortStringsUnicode 9324 9105 -2.4% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 31468 30910 -1.8% 1.02x(?)
SetExclusiveOr 3820 3760 -1.6% 1.02x(?)
ObjectiveCBridgeStubDateAccess 180 176 -2.2% 1.02x(?)
Sim2DArray 443 433 -2.3% 1.02x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 118721 116193 -2.1% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 162953 160268 -1.6% 1.02x
DeadArray 184 180 -2.2% 1.02x(?)
SevenBoom 1354 1328 -1.9% 1.02x
ObjectiveCBridgeToNSString 1071 1060 -1.0% 1.01x(?)
StackPromo 19364 19147 -1.1% 1.01x(?)
Prims 767 757 -1.3% 1.01x(?)
SortLettersInPlace 960 949 -1.1% 1.01x(?)
StaticArray 2884 2842 -1.5% 1.01x(?)
ProtocolDispatch 3002 2987 -0.5% 1.01x(?)
Dictionary2 1935 1925 -0.5% 1.01x
ErrorHandling 3037 3006 -1.0% 1.01x(?)
ObjectiveCBridgeStubDateMutation 270 268 -0.7% 1.01x
ObjectiveCBridgeStubToNSDateRef 3301 3263 -1.1% 1.01x(?)
PopFrontUnsafePointer 9152 9019 -1.4% 1.01x(?)
RC4 255 252 -1.2% 1.01x(?)
MapReduce 377 374 -0.8% 1.01x(?)
DictionaryRemoveOfObjects 20139 20028 -0.6% 1.01x(?)
ObjectiveCBridgeStubDataAppend 2905 2876 -1.0% 1.01x(?)
ArrayInClass 89 88 -1.1% 1.01x(?)
ObjectiveCBridgeToNSDictionary 16849 16675 -1.0% 1.01x(?)
StringHasPrefixUnicode 15839 15641 -1.2% 1.01x(?)
133 3705575 3676179 -0.8% 1.01x
ArraySubscript 1372 1366 -0.4% 1.00x(?)
DictionarySwapOfObjects 6743 6745 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 247640 246599 -0.4% 1.00x(?)
RecursiveOwnedParameter 1837 1833 -0.2% 1.00x(?)
Integrate 242 243 +0.4% 1.00x(?)
Histogram 665 662 -0.5% 1.00x(?)
DictionaryBridge 3897 3891 -0.1% 1.00x(?)
MonteCarloPi 42624 42522 -0.2% 1.00x
StringWithCString 587622 586844 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3765 3765 +0.0% 1.00x
ObjectiveCBridgeFromNSStringForced 2316 2321 +0.2% 1.00x(?)
DictionarySwap 773 774 +0.1% 1.00x(?)
PopFrontArray 1145 1142 -0.3% 1.00x(?)
Dictionary3OfObjects 869 869 +0.0% 1.00x
ByteSwap 1 1 +0.0% 1.00x
ObjectiveCBridgeStubToNSDate 13328 13388 +0.5% 1.00x(?)
XorLoop 360 360 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 666 665 -0.1% 1.00x(?)
TypeFlood 0 0 +0.0% 1.00x
ArrayLiteral 1006 1004 -0.2% 1.00x(?)
SetIntersect_OfObjects 2368 2360 -0.3% 1.00x(?)
ArrayOfRef 3492 3504 +0.3% 1.00x(?)
DictionaryOfObjects 2266 2273 +0.3% 1.00x(?)
PopFrontArrayGeneric 1133 1135 +0.2% 1.00x(?)
PolymorphicCalls 61 61 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 117 117 +0.0% 1.00x
ArrayOfGenericPOD 208 208 +0.0% 1.00x
SetIsSubsetOf 490 489 -0.2% 1.00x(?)
NopDeinit 35955 35825 -0.4% 1.00x(?)
RGBHistogramOfObjects 22127 22091 -0.2% 1.00x(?)
StringBuilder 1546 1539 -0.5% 1.00x(?)
MonteCarloE 10027 9981 -0.5% 1.00x(?)
SetUnion_OfObjects 7167 7187 +0.3% 1.00x(?)
StringHasSuffixUnicode 64425 64177 -0.4% 1.00x(?)
HashTest 2030 2029 -0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 618 616 -0.3% 1.00x
DictionaryRemove 5113 5112 -0.0% 1.00x(?)
LinkedList 6855 6871 +0.2% 1.00x
RGBHistogram 3116 3105 -0.3% 1.00x(?)
ArrayAppendReserved 522 523 +0.2% 1.00x(?)
ArrayOfPOD 172 172 +0.0% 1.00x
SetUnion 3318 3327 +0.3% 1.00x(?)
BitCount 1 1 +0.0% 1.00x
AngryPhonebook 2905 2898 -0.2% 1.00x(?)
StringWalk 5607 5620 +0.2% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 112927 113144 +0.2% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3479 3488 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 216159 217935 +0.8% 0.99x(?)
SuperChars 352363 355354 +0.8% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObject 111463 112617 +1.0% 0.99x(?)
StrComplexWalk 3030 3063 +1.1% 0.99x(?)
ArrayAppend 749 753 +0.5% 0.99x
ObjectiveCBridgeStubURLAppendPath 200676 202510 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 135800 136541 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 65298 66073 +1.2% 0.99x(?)
SetIntersect 1171 1178 +0.6% 0.99x(?)
ArrayOfGenericRef 3561 3579 +0.5% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4067 4107 +1.0% 0.99x(?)
Chars 629 637 +1.3% 0.99x(?)
Array2D 1999 2044 +2.2% 0.98x(?)
Hanoi 3135 3211 +2.4% 0.98x
UTF8Decode 311 316 +1.6% 0.98x(?)
SetExclusiveOr_OfObjects 8378 8508 +1.6% 0.98x(?)
ObjectiveCBridgeStubNSDataAppend 2351 2391 +1.7% 0.98x(?)
SortStrings 1703 1759 +3.3% 0.97x(?)
Join 448 460 +2.7% 0.97x
ProtocolDispatch2 155 160 +3.2% 0.97x(?)
ObjectiveCBridgeStubURLAppendPathRef 207315 212824 +2.7% 0.97x(?)
Dictionary 728 750 +3.0% 0.97x
Phonebook 6850 7049 +2.9% 0.97x(?)
ObjectiveCBridgeToNSSet 15670 16398 +4.7% 0.96x(?)
**Unoptimized (Onone)**

Regression (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 490 542 +10.6% 0.90x
ObjectiveCBridgeFromNSSetAnyObjectForced 7771 8540 +9.9% 0.91x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 220341 240445 +9.1% 0.92x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 141266 151107 +7.0% 0.93x(?)

Improvement (5)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
NSError 699 661 -5.4% 1.06x(?)
ObjectiveCBridgeStubFromNSStringRef 175 163 -6.9% 1.07x(?)
TypeFlood 160 150 -6.2% 1.07x(?)
StringWalk 24055 21162 -12.0% 1.14x(?)
ObjectiveCBridgeFromNSString 5605 4851 -13.4% 1.16x(?)

No Changes (125)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
PopFrontUnsafePointer 256817 243747 -5.1% 1.05x(?)
NSDictionaryCastToSwift 14580 13995 -4.0% 1.04x
StringHasSuffix 1750 1675 -4.3% 1.04x
ObjectiveCBridgeFromNSSetAnyObjectToString 180732 172996 -4.3% 1.04x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7390 7172 -3.0% 1.03x(?)
StrComplexWalk 8098 7826 -3.4% 1.03x(?)
StaticArray 28504 27773 -2.6% 1.03x(?)
ObjectiveCBridgeStubURLAppendPathRef 211929 205609 -3.0% 1.03x(?)
ObjectiveCBridgeStubDateMutation 525 510 -2.9% 1.03x
ArrayAppendReserved 3294 3197 -2.9% 1.03x(?)
StrToInt 5781 5624 -2.7% 1.03x
SevenBoom 1523 1484 -2.6% 1.03x(?)
SortStrings 2652 2611 -1.6% 1.02x(?)
SortLettersInPlace 2559 2504 -2.1% 1.02x(?)
Integrate 370 363 -1.9% 1.02x(?)
ObjectiveCBridgeStubFromNSString 711 695 -2.2% 1.02x(?)
StringHasPrefix 1598 1561 -2.3% 1.02x(?)
ObjectiveCBridgeToNSArray 32272 31637 -2.0% 1.02x(?)
ObjectiveCBridgeStubToNSDateRef 3264 3189 -2.3% 1.02x(?)
PolymorphicCalls 1222 1202 -1.6% 1.02x(?)
DictionaryLiteral 25140 24620 -2.1% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 31533 30937 -1.9% 1.02x(?)
ObjectiveCBridgeStubNSDataAppend 5205 5093 -2.1% 1.02x(?)
BitCount 100 98 -2.0% 1.02x(?)
ArrayValueProp 2328 2278 -2.1% 1.02x(?)
ObjectiveCBridgeStubFromArrayOfNSString 111765 109788 -1.8% 1.02x(?)
ArraySubscript 5571 5518 -0.9% 1.01x
ObjectiveCBridgeStubToNSString 1307 1291 -1.2% 1.01x(?)
Array2D 803519 799167 -0.5% 1.01x(?)
SuperChars 524559 520313 -0.8% 1.01x(?)
Join 1485 1474 -0.7% 1.01x
ProtocolDispatch 6189 6107 -1.3% 1.01x(?)
ObjectAllocation 556 553 -0.5% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObject 117757 116856 -0.8% 1.01x(?)
Walsh 12503 12401 -0.8% 1.01x
Dictionary3 2094 2083 -0.5% 1.01x(?)
ArrayAppend 3496 3447 -1.4% 1.01x(?)
ObjectiveCBridgeStubToNSStringRef 156 155 -0.6% 1.01x(?)
MapReduce 45166 44933 -0.5% 1.01x(?)
DictionaryRemoveOfObjects 62776 61968 -1.3% 1.01x(?)
UTF8Decode 43279 43061 -0.5% 1.01x(?)
Dictionary 2828 2802 -0.9% 1.01x(?)
ObjectiveCBridgeStubNSDateRefAccess 1294 1287 -0.5% 1.01x(?)
ArrayOfGenericRef 9724 9631 -1.0% 1.01x
ObjectiveCBridgeStubDateAccess 1142 1130 -1.1% 1.01x(?)
SetUnion_OfObjects 50262 49792 -0.9% 1.01x(?)
SetUnion 32237 31985 -0.8% 1.01x
Chars 5443 5404 -0.7% 1.01x(?)
ArrayValueProp2 2808 2783 -0.9% 1.01x(?)
ObjectiveCBridgeToNSString 1100 1096 -0.4% 1.00x(?)
DictionarySwapOfObjects 25744 25811 +0.3% 1.00x(?)
RecursiveOwnedParameter 7704 7670 -0.4% 1.00x(?)
ClassArrayGetter 1265 1262 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 4024 4028 +0.1% 1.00x(?)
MonteCarloPi 51276 51072 -0.4% 1.00x(?)
StringWithCString 732120 730222 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2718 2708 -0.4% 1.00x(?)
DictionarySwap 11158 11210 +0.5% 1.00x(?)
133 6636981 6606440 -0.5% 1.00x
Dictionary3OfObjects 2712 2706 -0.2% 1.00x(?)
RangeAssignment 23784 23741 -0.2% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
SetIntersect_OfObjects 19520 19444 -0.4% 1.00x(?)
ErrorHandling 3972 3968 -0.1% 1.00x(?)
ArrayOfRef 9138 9100 -0.4% 1.00x(?)
DictionaryOfObjects 5667 5646 -0.4% 1.00x(?)
StringEqualPointerComparison 9813 9854 +0.4% 1.00x(?)
Calculator 980 980 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 200481 200930 +0.2% 1.00x(?)
NopDeinit 58755 58788 +0.1% 1.00x(?)
SetIntersect 19456 19513 +0.3% 1.00x(?)
StringBuilder 2899 2911 +0.4% 1.00x(?)
ArrayInClass 3689 3685 -0.1% 1.00x(?)
Phonebook 62607 62437 -0.3% 1.00x(?)
Sim2DArray 14129 14071 -0.4% 1.00x(?)
SetExclusiveOr_OfObjects 65873 65768 -0.2% 1.00x(?)
StringHasSuffixUnicode 66701 66547 -0.2% 1.00x(?)
DictionaryRemove 31049 30999 -0.2% 1.00x(?)
LinkedList 26061 26073 +0.1% 1.00x(?)
NSStringConversion 2760 2757 -0.1% 1.00x(?)
RGBHistogram 52627 52536 -0.2% 1.00x(?)
DeadArray 131231 130663 -0.4% 1.00x(?)
ArrayLiteral 1088 1091 +0.3% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
ArrayValueProp4 2742 2729 -0.5% 1.00x(?)
TwoSum 9581 9595 +0.1% 1.00x(?)
ArrayValueProp3 2728 2719 -0.3% 1.00x(?)
PopFrontArray 24244 24378 +0.6% 0.99x(?)
DictionaryBridge 3934 3979 +1.1% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7341 7381 +0.5% 0.99x(?)
Prims 14479 14621 +1.0% 0.99x(?)
ObjectiveCBridgeStubToNSDate 13733 13903 +1.2% 0.99x(?)
XorLoop 18581 18831 +1.4% 0.99x
AngryPhonebook 3700 3727 +0.7% 0.99x
CaptureProp 115540 116598 +0.9% 0.99x(?)
RC4 8549 8661 +1.3% 0.99x
Hanoi 19897 20076 +0.9% 0.99x(?)
ArrayOfGenericPOD 3488 3507 +0.5% 0.99x(?)
SortStringsUnicode 10329 10462 +1.3% 0.99x(?)
SetIsSubsetOf 3018 3053 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 68766 69787 +1.5% 0.99x(?)
RGBHistogramOfObjects 100207 101037 +0.8% 0.99x(?)
MonteCarloE 107300 107901 +0.6% 0.99x(?)
HashTest 5510 5579 +1.2% 0.99x(?)
SetIsSubsetOf_OfObjects 2895 2917 +0.8% 0.99x(?)
ObjectiveCBridgeToNSSet 15905 16057 +1.0% 0.99x(?)
StringHasPrefixUnicode 16936 17141 +1.2% 0.99x(?)
ObjectiveCBridgeStubNSDateMutationRef 14046 14169 +0.9% 0.99x(?)
Memset 19880 19992 +0.6% 0.99x
Dictionary2OfObjects 6996 7080 +1.2% 0.99x(?)
StackPromo 129487 131920 +1.9% 0.98x(?)
StringInterpolation 15986 16230 +1.5% 0.98x(?)
ProtocolDispatch2 434 443 +2.1% 0.98x(?)
Dictionary2 5108 5235 +2.5% 0.98x(?)
ObjectiveCBridgeStubDataAppend 3192 3258 +2.1% 0.98x(?)
ObjectiveCBridgeToNSDictionary 16388 16756 +2.2% 0.98x(?)
ObjectiveCBridgeStubFromNSDate 3896 3960 +1.6% 0.98x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 163813 168600 +2.9% 0.97x(?)
Histogram 13874 14260 +2.8% 0.97x
ObjectiveCBridgeFromNSDictionaryAnyObject 249696 256574 +2.8% 0.97x(?)
ArrayOfPOD 2388 2464 +3.2% 0.97x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 161489 166980 +3.4% 0.97x(?)
SetExclusiveOr 46243 48141 +4.1% 0.96x(?)
PopFrontArrayGeneric 9513 9995 +5.1% 0.95x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 126237 133020 +5.4% 0.95x(?)
**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

@gribozavr gribozavr force-pushed the stdlib-make-array-implementation-internal branch from c77a8d6 to afb42e3 Compare July 12, 2016 23:08
@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 48 51 +6.2% 0.94x

Improvement (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StaticArray 2750 2604 -5.3% 1.06x(?)
StringHasPrefix 699 641 -8.3% 1.09x

No Changes (131)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasSuffix 705 669 -5.1% 1.05x
ObjectiveCBridgeStubFromNSStringRef 129 123 -4.7% 1.05x
DictionaryLiteral 4363 4177 -4.3% 1.04x(?)
NSDictionaryCastToSwift 12898 12366 -4.1% 1.04x
ObjectiveCBridgeFromNSDictionaryAnyObject 236943 232959 -1.7% 1.02x(?)
DictionaryBridge 3760 3698 -1.6% 1.02x
ErrorHandling 2924 2880 -1.5% 1.02x(?)
ObjectAllocation 144 141 -2.1% 1.02x(?)
ObjectiveCBridgeStubURLAppendPath 189154 186283 -1.5% 1.02x
Sim2DArray 411 404 -1.7% 1.02x
DictionaryRemove 4857 4785 -1.5% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 111141 109290 -1.7% 1.02x(?)
NSStringConversion 571 561 -1.8% 1.02x
TwoSum 1874 1830 -2.4% 1.02x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 203697 201635 -1.0% 1.01x(?)
ObjectiveCBridgeFromNSStringForced 2128 2115 -0.6% 1.01x(?)
ProtocolDispatch2 155 154 -0.7% 1.01x
Dictionary 717 712 -0.7% 1.01x(?)
SetExclusiveOr 3674 3621 -1.4% 1.01x
ArrayInClass 82 81 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSString 1545 1537 -0.5% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 3933 3907 -0.7% 1.01x(?)
ObjectiveCBridgeStubNSDataAppend 2205 2193 -0.5% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 159036 158187 -0.5% 1.01x(?)
ObjectiveCBridgeStubNSDateMutationRef 11841 11739 -0.9% 1.01x(?)
ArraySubscript 1331 1329 -0.1% 1.00x(?)
StackPromo 18891 18801 -0.5% 1.00x(?)
RecursiveOwnedParameter 1826 1826 +0.0% 1.00x
ObjectiveCBridgeStubToNSString 1226 1231 +0.4% 1.00x
ObjectiveCBridgeFromNSArrayAnyObjectToString 158579 158019 -0.3% 1.00x(?)
ClassArrayGetter 12 12 +0.0% 1.00x
Array2D 1944 1946 +0.1% 1.00x(?)
Histogram 643 644 +0.2% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4468 4476 +0.2% 1.00x(?)
MonteCarloPi 42672 42681 +0.0% 1.00x(?)
StringWithCString 587068 586195 -0.1% 1.00x(?)
Prims 735 737 +0.3% 1.00x(?)
SortLettersInPlace 936 938 +0.2% 1.00x(?)
133 3380538 3381543 +0.0% 1.00x
Dictionary3OfObjects 855 856 +0.1% 1.00x
RangeAssignment 299 298 -0.3% 1.00x(?)
ByteSwap 1 1 +0.0% 1.00x
SuperChars 346513 346663 +0.0% 1.00x(?)
XorLoop 359 359 +0.0% 1.00x
StringInterpolation 10985 11021 +0.3% 1.00x(?)
Integrate 226 225 -0.4% 1.00x
ProtocolDispatch 2870 2869 -0.0% 1.00x(?)
TypeFlood 0 0 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 106028 105747 -0.3% 1.00x(?)
AngryPhonebook 2681 2675 -0.2% 1.00x(?)
Dictionary3 516 517 +0.2% 1.00x
Dictionary2 1847 1842 -0.3% 1.00x
SetIntersect_OfObjects 2337 2340 +0.1% 1.00x
Join 440 438 -0.5% 1.00x
ObjectiveCBridgeStubURLAppendPathRef 194837 194457 -0.2% 1.00x(?)
ObjectiveCBridgeToNSSet 15244 15278 +0.2% 1.00x(?)
ObjectiveCBridgeStubDateMutation 258 258 +0.0% 1.00x
ObjectiveCBridgeToNSArray 30304 30343 +0.1% 1.00x(?)
NSError 317 318 +0.3% 1.00x(?)
PopFrontArrayGeneric 1086 1084 -0.2% 1.00x(?)
PopFrontUnsafePointer 8886 8871 -0.2% 1.00x(?)
StringEqualPointerComparison 6887 6897 +0.1% 1.00x(?)
CaptureProp 4025 4024 -0.0% 1.00x
PolymorphicCalls 59 59 +0.0% 1.00x
RC4 250 251 +0.4% 1.00x
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
MapReduce 353 352 -0.3% 1.00x
Hanoi 3126 3129 +0.1% 1.00x(?)
ArrayOfGenericPOD 207 208 +0.5% 1.00x
DictionaryRemoveOfObjects 19410 19369 -0.2% 1.00x(?)
UTF8Decode 305 305 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 130591 130364 -0.2% 1.00x(?)
SetIsSubsetOf 489 489 +0.0% 1.00x
NopDeinit 34566 34587 +0.1% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 29676 29542 -0.5% 1.00x(?)
ObjectiveCBridgeStubDataAppend 2719 2726 +0.3% 1.00x(?)
RGBHistogramOfObjects 21566 21640 +0.3% 1.00x
ObjectiveCBridgeStubNSDateRefAccess 320 320 +0.0% 1.00x
ObjectiveCBridgeStubDateAccess 172 172 +0.0% 1.00x
ObjectiveCBridgeToNSDictionary 15607 15589 -0.1% 1.00x(?)
MonteCarloE 9982 9993 +0.1% 1.00x(?)
StringHasSuffixUnicode 61341 61391 +0.1% 1.00x(?)
HashTest 1957 1960 +0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 615 615 +0.0% 1.00x
ArrayAppend 726 727 +0.1% 1.00x(?)
LinkedList 6856 6861 +0.1% 1.00x(?)
RGBHistogram 2983 2991 +0.3% 1.00x(?)
ArrayValueProp4 5 5 +0.0% 1.00x
ArrayOfPOD 172 172 +0.0% 1.00x
SetUnion 3206 3194 -0.4% 1.00x(?)
StringBuilder 1502 1502 +0.0% 1.00x
DeadArray 174 174 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
ArrayLiteral 965 965 +0.0% 1.00x
SevenBoom 1274 1277 +0.2% 1.00x(?)
StringWalk 5538 5540 +0.0% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 105452 105449 -0.0% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
Dictionary2OfObjects 3213 3219 +0.2% 1.00x(?)
ArrayAppendReserved 506 505 -0.2% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3321 3336 +0.5% 1.00x
ObjectiveCBridgeToNSString 1010 1019 +0.9% 0.99x
DictionarySwapOfObjects 6453 6513 +0.9% 0.99x(?)
PopFrontArray 1086 1095 +0.8% 0.99x
SortStrings 1715 1724 +0.5% 0.99x
ObjectiveCBridgeStubFromNSDateRef 3479 3526 +1.4% 0.99x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3603 3623 +0.6% 0.99x
DictionarySwap 735 739 +0.5% 0.99x
ObjectiveCBridgeStubFromNSString 628 636 +1.3% 0.99x
StrComplexWalk 2888 2908 +0.7% 0.99x(?)
ArrayOfRef 3348 3376 +0.8% 0.99x
DictionaryOfObjects 2156 2167 +0.5% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 62831 63389 +0.9% 0.99x(?)
SetIntersect 1140 1146 +0.5% 0.99x
ArrayOfGenericRef 3404 3445 +1.2% 0.99x
SetExclusiveOr_OfObjects 8173 8248 +0.9% 0.99x
SetUnion_OfObjects 6949 7030 +1.2% 0.99x
StringHasPrefixUnicode 15035 15223 +1.2% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectToString 155046 156775 +1.1% 0.99x(?)
Chars 603 607 +0.7% 0.99x
ObjectiveCBridgeStubToNSDate 12682 12998 +2.5% 0.98x(?)
Walsh 305 310 +1.6% 0.98x
ObjectiveCBridgeStubToNSDateRef 3253 3313 +1.8% 0.98x
SortStringsUnicode 8879 9052 +1.9% 0.98x
Phonebook 6877 7024 +2.1% 0.98x
Calculator 31 32 +3.2% 0.97x
StrToInt 4824 4974 +3.1% 0.97x
**Unoptimized (Onone)**

Regression (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasSuffix 1496 1627 +8.8% 0.92x
ArrayOfGenericPOD 3279 3488 +6.4% 0.94x
TypeFlood 145 154 +6.2% 0.94x
PopFrontUnsafePointer 229389 244096 +6.4% 0.94x

Improvement (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 455 431 -5.3% 1.06x(?)
StringWalk 22132 20088 -9.2% 1.10x(?)

No Changes (128)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ArrayAppend 3236 3136 -3.1% 1.03x
NSDictionaryCastToSwift 13961 13520 -3.2% 1.03x(?)
SortStrings 2538 2496 -1.6% 1.02x
DictionaryLiteral 23825 23324 -2.1% 1.02x(?)
Phonebook 60635 59382 -2.1% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 120537 118138 -2.0% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 168705 165312 -2.0% 1.02x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 159495 158308 -0.7% 1.01x(?)
DictionarySwapOfObjects 25162 25016 -0.6% 1.01x(?)
ObjectiveCBridgeFromNSStringForced 2549 2519 -1.2% 1.01x
ErrorHandling 3751 3703 -1.3% 1.01x
ObjectiveCBridgeStubFromNSStringRef 162 161 -0.6% 1.01x(?)
ObjectAllocation 530 526 -0.8% 1.01x(?)
ObjectiveCBridgeToNSArray 30696 30284 -1.3% 1.01x(?)
PolymorphicCalls 1111 1098 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 133173 131723 -1.1% 1.01x(?)
StringHasPrefixUnicode 16174 15968 -1.3% 1.01x
LinkedList 26185 25991 -0.7% 1.01x(?)
ArrayValueProp4 2580 2562 -0.7% 1.01x(?)
StringBuilder 2761 2724 -1.3% 1.01x(?)
DeadArray 127408 126025 -1.1% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 161060 159169 -1.2% 1.01x(?)
ArrayAppendReserved 3047 3006 -1.4% 1.01x
TwoSum 9473 9402 -0.8% 1.01x
ArraySubscript 5428 5428 +0.0% 1.00x
MonteCarloPi 50616 50646 +0.1% 1.00x(?)
StackPromo 125046 125067 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 239010 238560 -0.2% 1.00x(?)
Integrate 341 341 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 211601 210983 -0.3% 1.00x(?)
ClassArrayGetter 1256 1258 +0.2% 1.00x(?)
Array2D 795275 796170 +0.1% 1.00x
Histogram 13600 13635 +0.3% 1.00x(?)
DictionaryBridge 3799 3813 +0.4% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 3830 3828 -0.1% 1.00x(?)
StringWithCString 729363 729108 -0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6913 6907 -0.1% 1.00x(?)
Prims 14260 14271 +0.1% 1.00x(?)
DictionarySwap 10864 10865 +0.0% 1.00x(?)
PopFrontArray 23361 23379 +0.1% 1.00x(?)
RangeAssignment 22846 22950 +0.5% 1.00x
ByteSwap 9 9 +0.0% 1.00x
SuperChars 508179 507042 -0.2% 1.00x(?)
XorLoop 18540 18533 -0.0% 1.00x(?)
StringInterpolation 15435 15380 -0.4% 1.00x
ObjectiveCBridgeStubToNSString 1283 1281 -0.2% 1.00x(?)
StaticArray 26431 26415 -0.1% 1.00x(?)
ProtocolDispatch 5768 5761 -0.1% 1.00x(?)
AngryPhonebook 3555 3555 +0.0% 1.00x
ProtocolDispatch2 417 416 -0.2% 1.00x
Walsh 12263 12244 -0.1% 1.00x(?)
Dictionary3 2034 2034 +0.0% 1.00x
Dictionary2 5021 5023 +0.0% 1.00x(?)
Join 1445 1447 +0.1% 1.00x(?)
ArrayOfRef 8800 8805 +0.1% 1.00x(?)
ObjectiveCBridgeStubDateMutation 430 430 +0.0% 1.00x
CaptureProp 110070 109966 -0.1% 1.00x(?)
RC4 8482 8475 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSStringRef 155 155 +0.0% 1.00x
Calculator 966 965 -0.1% 1.00x(?)
MapReduce 43999 44073 +0.2% 1.00x(?)
DictionaryRemoveOfObjects 61009 61047 +0.1% 1.00x(?)
UTF8Decode 42468 42432 -0.1% 1.00x(?)
SetIsSubsetOf 2972 2967 -0.2% 1.00x(?)
Dictionary 2699 2704 +0.2% 1.00x
NopDeinit 54884 54900 +0.0% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 29651 29697 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObject 66520 66668 +0.2% 1.00x(?)
SetIntersect 18950 18966 +0.1% 1.00x(?)
ObjectiveCBridgeStubDataAppend 3050 3051 +0.0% 1.00x(?)
SetExclusiveOr 46051 46138 +0.2% 1.00x(?)
RGBHistogramOfObjects 99102 99327 +0.2% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 1161 1159 -0.2% 1.00x
ArrayInClass 3650 3648 -0.1% 1.00x(?)
ArrayOfGenericRef 9419 9434 +0.2% 1.00x(?)
ObjectiveCBridgeStubDateAccess 1033 1033 +0.0% 1.00x
Sim2DArray 13789 13788 -0.0% 1.00x(?)
SetExclusiveOr_OfObjects 64903 65069 +0.3% 1.00x(?)
MonteCarloE 105724 105925 +0.2% 1.00x(?)
SetUnion_OfObjects 49250 49163 -0.2% 1.00x(?)
StringHasSuffixUnicode 63060 63373 +0.5% 1.00x
HashTest 5325 5328 +0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 2838 2850 +0.4% 1.00x(?)
RGBHistogram 50743 50561 -0.4% 1.00x(?)
Chars 5039 5036 -0.1% 1.00x(?)
133 6244079 6220558 -0.4% 1.00x
ArrayValueProp2 2682 2687 +0.2% 1.00x(?)
ArrayLiteral 1049 1049 +0.0% 1.00x
SevenBoom 1433 1434 +0.1% 1.00x(?)
ArrayValueProp 2174 2174 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 106720 106242 -0.5% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 19505 19518 +0.1% 1.00x(?)
Dictionary2OfObjects 6820 6823 +0.0% 1.00x(?)
ObjectiveCBridgeStubNSDataAppend 5053 5055 +0.0% 1.00x(?)
ArrayValueProp3 2598 2607 +0.3% 1.00x
ObjectiveCBridgeToNSString 1045 1053 +0.8% 0.99x
RecursiveOwnedParameter 7641 7680 +0.5% 0.99x(?)
SortLettersInPlace 2449 2475 +1.1% 0.99x(?)
Dictionary3OfObjects 2639 2661 +0.8% 0.99x(?)
ObjectiveCBridgeStubToNSDate 12773 12911 +1.1% 0.99x(?)
SetIntersect_OfObjects 18854 18992 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPathRef 195135 197432 +1.2% 0.99x(?)
DictionaryOfObjects 5422 5455 +0.6% 0.99x
StringEqualPointerComparison 9120 9179 +0.7% 0.99x
Hanoi 19231 19487 +1.3% 0.99x
SortStringsUnicode 9767 9908 +1.4% 0.99x
ObjectiveCBridgeFromNSString 4560 4612 +1.1% 0.99x(?)
DictionaryRemove 30491 30675 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7282 7337 +0.8% 0.99x(?)
SetUnion 31536 31944 +1.3% 0.99x(?)
BitCount 91 92 +1.1% 0.99x
ObjectiveCBridgeStubNSDateMutationRef 13682 13818 +1.0% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 6862 7029 +2.4% 0.98x(?)
ObjectiveCBridgeStubFromNSString 663 675 +1.8% 0.98x
ObjectiveCBridgeFromNSSetAnyObject 110126 112262 +1.9% 0.98x
StringHasPrefix 1503 1530 +1.8% 0.98x
NSError 641 656 +2.3% 0.98x(?)
ObjectiveCBridgeStubToNSDateRef 3079 3130 +1.7% 0.98x(?)
PopFrontArrayGeneric 9060 9203 +1.6% 0.98x(?)
ObjectiveCBridgeStubURLAppendPath 185441 189386 +2.1% 0.98x(?)
StrToInt 5343 5436 +1.7% 0.98x
ObjectiveCBridgeToNSDictionary 15631 15879 +1.6% 0.98x(?)
ObjectiveCBridgeToNSSet 15300 15546 +1.6% 0.98x(?)
ObjectiveCBridgeStubFromNSDate 3668 3758 +2.5% 0.98x
StrComplexWalk 7420 7643 +3.0% 0.97x
NSStringConversion 2555 2624 +2.7% 0.97x
ArrayOfPOD 2232 2311 +3.5% 0.97x
**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

@gribozavr gribozavr force-pushed the stdlib-make-array-implementation-internal branch from afb42e3 to 4206e5a Compare July 13, 2016 00:58
@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 48 51 +6.2% 0.94x

Improvement (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasPrefix 686 646 -5.8% 1.06x

No Changes (132)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubFromNSStringRef 130 124 -4.6% 1.05x
StringHasSuffix 699 669 -4.3% 1.04x
ObjectiveCBridgeFromNSSetAnyObjectToString 155070 149757 -3.4% 1.04x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 130345 127077 -2.5% 1.03x(?)
ObjectiveCBridgeStubURLAppendPathRef 196728 193619 -1.6% 1.02x(?)
ObjectiveCBridgeToNSArray 30471 29896 -1.9% 1.02x(?)
NSDictionaryCastToSwift 12868 12626 -1.9% 1.02x
TwoSum 1870 1838 -1.7% 1.02x
Array2D 1961 1947 -0.7% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObject 238397 235434 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4506 4443 -1.4% 1.01x
DictionarySwapOfObjects 6523 6442 -1.2% 1.01x(?)
ArrayInClass 82 81 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSString 1541 1532 -0.6% 1.01x(?)
Sim2DArray 411 405 -1.5% 1.01x
NSStringConversion 573 570 -0.5% 1.01x
ObjectiveCBridgeFromNSSetAnyObjectForced 3921 3884 -0.9% 1.01x
ArrayOfPOD 172 171 -0.6% 1.01x
SetUnion 3226 3193 -1.0% 1.01x(?)
ObjectiveCBridgeStubNSDateMutationRef 11567 11481 -0.7% 1.01x(?)
ArraySubscript 1332 1331 -0.1% 1.00x(?)
MonteCarloPi 42648 42639 -0.0% 1.00x(?)
StackPromo 18887 18976 +0.5% 1.00x(?)
RecursiveOwnedParameter 1825 1827 +0.1% 1.00x(?)
Integrate 225 226 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 157101 156961 -0.1% 1.00x(?)
ClassArrayGetter 12 12 +0.0% 1.00x
Histogram 644 644 +0.0% 1.00x
SortStrings 1716 1724 +0.5% 1.00x
DictionaryBridge 3731 3733 +0.1% 1.00x(?)
StringWithCString 586510 586700 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3611 3617 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2155 2145 -0.5% 1.00x
Prims 740 739 -0.1% 1.00x(?)
SortLettersInPlace 935 935 +0.0% 1.00x
133 3386917 3387209 +0.0% 1.00x
Dictionary3OfObjects 854 857 +0.3% 1.00x(?)
ByteSwap 1 1 +0.0% 1.00x
SuperChars 344916 346438 +0.4% 1.00x(?)
XorLoop 360 359 -0.3% 1.00x
StringInterpolation 10989 11010 +0.2% 1.00x(?)
ErrorHandling 2908 2918 +0.3% 1.00x(?)
StaticArray 2732 2736 +0.1% 1.00x(?)
ProtocolDispatch 2869 2870 +0.0% 1.00x(?)
ObjectAllocation 141 141 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 106192 106583 +0.4% 1.00x(?)
AngryPhonebook 2683 2677 -0.2% 1.00x
ProtocolDispatch2 154 154 +0.0% 1.00x
Dictionary3 516 518 +0.4% 1.00x
Dictionary2 1846 1842 -0.2% 1.00x
StrComplexWalk 2922 2916 -0.2% 1.00x(?)
SetIntersect_OfObjects 2338 2338 +0.0% 1.00x
Join 439 440 +0.2% 1.00x(?)
ArrayAppend 726 726 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 258 258 +0.0% 1.00x
NSError 317 318 +0.3% 1.00x
PopFrontArrayGeneric 1085 1086 +0.1% 1.00x(?)
PopFrontUnsafePointer 8891 8884 -0.1% 1.00x
StringEqualPointerComparison 6873 6900 +0.4% 1.00x
CaptureProp 4022 4023 +0.0% 1.00x(?)
PolymorphicCalls 59 59 +0.0% 1.00x
RC4 251 251 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
Calculator 32 32 +0.0% 1.00x
MapReduce 352 352 +0.0% 1.00x
DictionaryLiteral 4372 4368 -0.1% 1.00x(?)
Hanoi 3122 3132 +0.3% 1.00x(?)
ArrayOfGenericPOD 208 208 +0.0% 1.00x
DictionaryRemoveOfObjects 19447 19372 -0.4% 1.00x
UTF8Decode 305 305 +0.0% 1.00x
SetIsSubsetOf 489 489 +0.0% 1.00x
Dictionary 716 715 -0.1% 1.00x(?)
NopDeinit 34588 34601 +0.0% 1.00x(?)
ObjectiveCBridgeStubDataAppend 2717 2717 +0.0% 1.00x
SetExclusiveOr 3629 3619 -0.3% 1.00x
RGBHistogramOfObjects 21568 21651 +0.4% 1.00x
ObjectiveCBridgeStubNSDateRefAccess 321 320 -0.3% 1.00x
ArrayOfGenericRef 3396 3397 +0.0% 1.00x(?)
ObjectiveCBridgeStubDateAccess 172 172 +0.0% 1.00x
MonteCarloE 9984 9986 +0.0% 1.00x(?)
StringHasSuffixUnicode 61354 61327 -0.0% 1.00x(?)
HashTest 1961 1959 -0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 616 615 -0.2% 1.00x
ObjectiveCBridgeToNSSet 15493 15548 +0.3% 1.00x(?)
LinkedList 6849 6841 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 111378 111159 -0.2% 1.00x(?)
RGBHistogram 3007 3012 +0.2% 1.00x(?)
ArrayValueProp4 5 5 +0.0% 1.00x
StringBuilder 1501 1501 +0.0% 1.00x
DeadArray 174 174 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
ArrayLiteral 965 965 +0.0% 1.00x
SevenBoom 1282 1279 -0.2% 1.00x(?)
StringWalk 5539 5538 -0.0% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 105171 104684 -0.5% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
Dictionary2OfObjects 3231 3227 -0.1% 1.00x(?)
ArrayAppendReserved 506 506 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2203 2199 -0.2% 1.00x(?)
ArrayValueProp3 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3316 3331 +0.5% 1.00x
ObjectiveCBridgeToNSString 1010 1017 +0.7% 0.99x
PopFrontArray 1084 1090 +0.6% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 199895 201477 +0.8% 0.99x(?)
DictionarySwap 735 739 +0.5% 0.99x
RangeAssignment 296 298 +0.7% 0.99x(?)
ObjectiveCBridgeStubToNSString 1223 1230 +0.6% 0.99x
Walsh 306 309 +1.0% 0.99x
ArrayOfRef 3332 3378 +1.4% 0.99x
DictionaryOfObjects 2159 2175 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPath 185770 187554 +1.0% 0.99x(?)
ObjectiveCBridgeStubToArrayOfNSString 29510 29678 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 62861 63575 +1.1% 0.99x
SetIntersect 1135 1145 +0.9% 0.99x
SetExclusiveOr_OfObjects 8199 8281 +1.0% 0.99x
SetUnion_OfObjects 6953 7034 +1.2% 0.99x
StringHasPrefixUnicode 15029 15210 +1.2% 0.99x
Chars 603 608 +0.8% 0.99x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 158754 160790 +1.3% 0.99x(?)
ObjectiveCBridgeStubFromNSDateRef 3477 3530 +1.5% 0.98x
ObjectiveCBridgeStubToNSDate 12748 12947 +1.6% 0.98x(?)
ObjectiveCBridgeStubFromNSString 621 636 +2.4% 0.98x(?)
SortStringsUnicode 8882 9032 +1.7% 0.98x
Phonebook 6886 7017 +1.9% 0.98x
ObjectiveCBridgeToNSDictionary 15508 15812 +2.0% 0.98x(?)
DictionaryRemove 4788 4903 +2.4% 0.98x(?)
StrToInt 4822 4973 +3.1% 0.97x
ObjectiveCBridgeStubToNSDateRef 3111 3278 +5.4% 0.95x
**Unoptimized (Onone)**

Regression (3)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasSuffix 1495 1614 +8.0% 0.93x
ArrayOfGenericPOD 3279 3486 +6.3% 0.94x
PopFrontUnsafePointer 229393 244067 +6.4% 0.94x

Improvement (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
TypeFlood 160 150 -6.2% 1.07x
ObjectiveCBridgeFromNSSetAnyObjectForced 7682 7202 -6.2% 1.07x

No Changes (129)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubToArrayOfNSString 29877 28797 -3.6% 1.04x
NSDictionaryCastToSwift 14174 13591 -4.1% 1.04x
ArrayAppend 3234 3136 -3.0% 1.03x
StackPromo 125914 123053 -2.3% 1.02x(?)
SortStrings 2540 2497 -1.7% 1.02x
ObjectiveCBridgeFromNSStringForced 2557 2516 -1.6% 1.02x
DictionaryLiteral 23914 23527 -1.6% 1.02x
StringHasPrefixUnicode 16152 15913 -1.5% 1.02x(?)
ObjectiveCBridgeStubNSDateMutationRef 13893 13582 -2.2% 1.02x(?)
DictionaryBridge 3804 3784 -0.5% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 6911 6860 -0.7% 1.01x(?)
ObjectiveCBridgeToNSArray 30519 30134 -1.3% 1.01x
PolymorphicCalls 1110 1097 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObject 67067 66723 -0.5% 1.01x(?)
SetExclusiveOr 45898 45627 -0.6% 1.01x(?)
RGBHistogramOfObjects 99414 98534 -0.9% 1.01x
ObjectiveCBridgeStubNSDataAppend 5072 5043 -0.6% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 160768 159322 -0.9% 1.01x(?)
ArraySubscript 5431 5434 +0.1% 1.00x(?)
DictionarySwapOfObjects 25001 25106 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 242845 242650 -0.1% 1.00x(?)
Integrate 341 341 +0.0% 1.00x
ClassArrayGetter 1254 1257 +0.2% 1.00x
Array2D 794760 796051 +0.2% 1.00x(?)
Histogram 13749 13721 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 3835 3828 -0.2% 1.00x(?)
MonteCarloPi 50651 50646 -0.0% 1.00x(?)
StringWithCString 729333 729500 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6900 6895 -0.1% 1.00x(?)
Prims 14246 14252 +0.0% 1.00x(?)
DictionarySwap 10856 10870 +0.1% 1.00x(?)
PopFrontArray 23452 23535 +0.3% 1.00x(?)
Dictionary3OfObjects 2639 2638 -0.0% 1.00x(?)
RangeAssignment 22852 22836 -0.1% 1.00x(?)
ByteSwap 9 9 +0.0% 1.00x
SuperChars 508107 507693 -0.1% 1.00x(?)
XorLoop 18532 18538 +0.0% 1.00x(?)
StringInterpolation 15355 15336 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSString 1283 1277 -0.5% 1.00x
ErrorHandling 3726 3728 +0.1% 1.00x(?)
ObjectiveCBridgeStubFromNSStringRef 161 161 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 666 668 +0.3% 1.00x(?)
StaticArray 26393 26372 -0.1% 1.00x(?)
ProtocolDispatch 5763 5760 -0.1% 1.00x(?)
ObjectAllocation 531 530 -0.2% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 109995 110415 +0.4% 1.00x(?)
AngryPhonebook 3557 3560 +0.1% 1.00x(?)
ProtocolDispatch2 416 416 +0.0% 1.00x
Walsh 12277 12294 +0.1% 1.00x(?)
Dictionary3 2039 2039 +0.0% 1.00x
Dictionary2 5018 5013 -0.1% 1.00x(?)
Join 1446 1447 +0.1% 1.00x
ArrayOfRef 8804 8806 +0.0% 1.00x(?)
ObjectiveCBridgeStubDateMutation 430 430 +0.0% 1.00x
NSError 656 659 +0.5% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3125 3110 -0.5% 1.00x(?)
PopFrontArrayGeneric 9191 9207 +0.2% 1.00x
CaptureProp 110117 109997 -0.1% 1.00x(?)
RC4 8488 8467 -0.2% 1.00x
ObjectiveCBridgeStubToNSStringRef 155 155 +0.0% 1.00x
Calculator 966 964 -0.2% 1.00x
MapReduce 44013 44060 +0.1% 1.00x
DictionaryRemoveOfObjects 60794 60943 +0.2% 1.00x(?)
UTF8Decode 42434 42423 -0.0% 1.00x(?)
ObjectiveCBridgeStubURLAppendPath 187655 186768 -0.5% 1.00x(?)
Dictionary 2701 2703 +0.1% 1.00x(?)
NopDeinit 54891 54889 -0.0% 1.00x(?)
SetIntersect 18953 18972 +0.1% 1.00x(?)
ObjectiveCBridgeStubDataAppend 3049 3053 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 166431 167162 +0.4% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 1160 1160 +0.0% 1.00x
ArrayInClass 3647 3648 +0.0% 1.00x(?)
ArrayOfGenericRef 9453 9434 -0.2% 1.00x(?)
ObjectiveCBridgeStubDateAccess 1032 1033 +0.1% 1.00x(?)
Sim2DArray 13795 13786 -0.1% 1.00x
SetExclusiveOr_OfObjects 64960 65095 +0.2% 1.00x(?)
MonteCarloE 106112 106065 -0.0% 1.00x(?)
HashTest 5334 5323 -0.2% 1.00x
ObjectiveCBridgeToNSSet 15269 15309 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 119214 118627 -0.5% 1.00x(?)
RGBHistogram 50604 50652 +0.1% 1.00x(?)
ArrayValueProp4 2574 2568 -0.2% 1.00x(?)
SetUnion 31523 31526 +0.0% 1.00x(?)
Chars 5038 5047 +0.2% 1.00x
133 6182285 6190212 +0.1% 1.00x
StringBuilder 2739 2726 -0.5% 1.00x(?)
BitCount 92 92 +0.0% 1.00x
ArrayLiteral 1050 1050 +0.0% 1.00x
SevenBoom 1432 1436 +0.3% 1.00x(?)
ArrayValueProp 2176 2171 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromArrayOfNSString 104588 104565 -0.0% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 19507 19507 +0.0% 1.00x
ArrayAppendReserved 3019 3006 -0.4% 1.00x
TwoSum 9477 9447 -0.3% 1.00x
ArrayValueProp2 2687 2682 -0.2% 1.00x(?)
ArrayValueProp3 2605 2608 +0.1% 1.00x(?)
ObjectiveCBridgeToNSString 1044 1052 +0.8% 0.99x
RecursiveOwnedParameter 7634 7685 +0.7% 0.99x
SortLettersInPlace 2451 2468 +0.7% 0.99x(?)
SetIntersect_OfObjects 18852 19010 +0.8% 0.99x
ObjectiveCBridgeStubURLAppendPathRef 191931 194109 +1.1% 0.99x
DictionaryOfObjects 5400 5436 +0.7% 0.99x(?)
StringEqualPointerComparison 9131 9189 +0.6% 0.99x
Hanoi 19294 19488 +1.0% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 133021 134827 +1.4% 0.99x(?)
SetIsSubsetOf 2945 2971 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSString 4562 4617 +1.2% 0.99x(?)
ObjectiveCBridgeToNSDictionary 15883 16080 +1.2% 0.99x(?)
StringHasSuffixUnicode 63012 63350 +0.5% 0.99x
SetIsSubsetOf_OfObjects 2838 2865 +0.9% 0.99x(?)
DictionaryRemove 30527 30986 +1.5% 0.99x
LinkedList 25974 26303 +1.3% 0.99x(?)
DeadArray 125601 127273 +1.3% 0.99x(?)
Dictionary2OfObjects 6800 6870 +1.0% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 211375 215146 +1.8% 0.98x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 156623 159884 +2.1% 0.98x
ObjectiveCBridgeStubToNSDate 12947 13256 +2.4% 0.98x
StringHasPrefix 1506 1529 +1.5% 0.98x
OpenClose 437 444 +1.6% 0.98x(?)
SortStringsUnicode 9762 9918 +1.6% 0.98x(?)
StrToInt 5348 5430 +1.5% 0.98x
Phonebook 59263 60175 +1.5% 0.98x(?)
SetUnion_OfObjects 49002 49761 +1.6% 0.98x
NSStringConversion 2554 2605 +2.0% 0.98x
ObjectiveCBridgeStubFromNSDate 3669 3756 +2.4% 0.98x
StrComplexWalk 7415 7629 +2.9% 0.97x
ArrayOfPOD 2235 2313 +3.5% 0.97x
StringWalk 20479 21601 +5.5% 0.95x(?)
**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

@gribozavr gribozavr force-pushed the stdlib-make-array-implementation-internal branch from 4206e5a to b97a3f2 Compare July 15, 2016 08:12
@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr gribozavr force-pushed the stdlib-make-array-implementation-internal branch from b97a3f2 to 73a031b Compare July 15, 2016 17:38
@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubFromNSDateRef 3531 3737 +5.8% 0.94x
MapReduce 371 393 +5.9% 0.94x

Improvement (5)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectForced 5484 5183 -5.5% 1.06x(?)
StringHasSuffix 739 700 -5.3% 1.06x(?)
Calculator 32 30 -6.2% 1.07x
Walsh 336 311 -7.4% 1.08x(?)
ObjectiveCBridgeStubNSDateRefAccess 332 304 -8.4% 1.09x

No Changes (127)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
DictionaryLiteral 4622 4399 -4.8% 1.05x
DictionaryBridge 3897 3752 -3.7% 1.04x(?)
ObjectiveCBridgeFromNSStringForced 2273 2177 -4.2% 1.04x
ProtocolDispatch2 159 153 -3.8% 1.04x(?)
DictionarySwapOfObjects 6787 6502 -4.2% 1.04x
PopFrontUnsafePointer 9210 8885 -3.5% 1.04x(?)
Phonebook 6991 6697 -4.2% 1.04x(?)
ObjectiveCBridgeStubFromNSString 689 668 -3.0% 1.03x
ObjectiveCBridgeFromNSString 1627 1572 -3.4% 1.03x
DeadArray 179 174 -2.8% 1.03x(?)
SortStrings 1738 1706 -1.8% 1.02x
DictionarySwap 762 749 -1.7% 1.02x(?)
ObjectiveCBridgeStubFromNSStringRef 134 132 -1.5% 1.02x
ProtocolDispatch 2978 2911 -2.2% 1.02x
AngryPhonebook 2829 2773 -2.0% 1.02x(?)
DictionaryOfObjects 2269 2235 -1.5% 1.02x(?)
ObjectiveCBridgeStubToNSDateRef 3306 3254 -1.6% 1.02x(?)
ObjectiveCBridgeStubToNSStringRef 120 118 -1.7% 1.02x(?)
Hanoi 3217 3157 -1.9% 1.02x
ObjectiveCBridgeStubDataAppend 2909 2843 -2.3% 1.02x
SetUnion 3272 3212 -1.8% 1.02x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 213331 211754 -0.7% 1.01x(?)
Prims 757 752 -0.7% 1.01x(?)
ObjectiveCBridgeStubToNSString 1247 1230 -1.4% 1.01x(?)
Dictionary2 1922 1895 -1.4% 1.01x
ObjectiveCBridgeStubURLAppendPathRef 205232 202535 -1.3% 1.01x(?)
StringEqualPointerComparison 7267 7202 -0.9% 1.01x(?)
CaptureProp 4121 4068 -1.3% 1.01x(?)
Dictionary 733 728 -0.7% 1.01x(?)
NopDeinit 35343 35051 -0.8% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObject 64851 64528 -0.5% 1.01x
SetIntersect 1151 1142 -0.8% 1.01x
PopFrontArray 1116 1107 -0.8% 1.01x(?)
ObjectiveCBridgeToNSDictionary 16497 16400 -0.6% 1.01x(?)
HashTest 2011 1993 -0.9% 1.01x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 119466 118852 -0.5% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 160272 158655 -1.0% 1.01x(?)
ArraySubscript 1336 1332 -0.3% 1.00x(?)
ObjectiveCBridgeToNSString 1040 1043 +0.3% 1.00x(?)
MonteCarloPi 42525 42524 -0.0% 1.00x(?)
RecursiveOwnedParameter 1831 1827 -0.2% 1.00x(?)
Integrate 233 234 +0.4% 1.00x(?)
ClassArrayGetter 12 12 +0.0% 1.00x
Array2D 2014 2015 +0.1% 1.00x(?)
ArrayOfGenericPOD 207 208 +0.5% 1.00x
StringWithCString 180393 180559 +0.1% 1.00x(?)
SortLettersInPlace 949 953 +0.4% 1.00x(?)
Dictionary3OfObjects 876 878 +0.2% 1.00x(?)
ByteSwap 1 1 +0.0% 1.00x
SuperChars 345829 347507 +0.5% 1.00x
XorLoop 359 360 +0.3% 1.00x
StringInterpolation 11657 11714 +0.5% 1.00x(?)
TypeFlood 0 0 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 112059 112394 +0.3% 1.00x(?)
Dictionary3 532 531 -0.2% 1.00x(?)
SetIntersect_OfObjects 2343 2341 -0.1% 1.00x(?)
ArrayOfRef 3465 3479 +0.4% 1.00x(?)
ObjectiveCBridgeStubDateMutation 265 265 +0.0% 1.00x
ObjectiveCBridgeToNSArray 31860 31933 +0.2% 1.00x(?)
NSError 320 320 +0.0% 1.00x
PopFrontArrayGeneric 1120 1118 -0.2% 1.00x(?)
PolymorphicCalls 60 60 +0.0% 1.00x
OpenClose 53 53 +0.0% 1.00x
DictionaryRemoveOfObjects 19938 19949 +0.1% 1.00x(?)
SortStringsUnicode 9242 9225 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 136572 136127 -0.3% 1.00x(?)
SetIsSubsetOf 490 490 +0.0% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 30857 30991 +0.4% 1.00x(?)
NSDictionaryCastToSwift 12876 12936 +0.5% 1.00x(?)
RGBHistogramOfObjects 22080 22163 +0.4% 1.00x
ArrayInClass 85 85 +0.0% 1.00x
ArrayOfGenericRef 3484 3483 -0.0% 1.00x(?)
ObjectiveCBridgeStubDateAccess 177 177 +0.0% 1.00x
MonteCarloE 9939 9979 +0.4% 1.00x(?)
SetUnion_OfObjects 6950 6983 +0.5% 1.00x(?)
RC4 251 251 +0.0% 1.00x
SetIsSubsetOf_OfObjects 616 615 -0.2% 1.00x(?)
ArrayAppend 732 729 -0.4% 1.00x(?)
DictionaryRemove 5029 5022 -0.1% 1.00x(?)
NSStringConversion 578 576 -0.3% 1.00x(?)
ArrayAppendReserved 512 511 -0.2% 1.00x(?)
ArrayOfPOD 172 172 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
SevenBoom 1298 1297 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 172845 173139 +0.2% 1.00x(?)
StringWalk 5535 5544 +0.2% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
Dictionary2OfObjects 3402 3394 -0.2% 1.00x(?)
ArrayValueProp4 5 5 +0.0% 1.00x
TwoSum 1886 1882 -0.2% 1.00x(?)
ArrayValueProp3 5 5 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3480 3477 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 164159 165804 +1.0% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4617 4670 +1.1% 0.99x(?)
133 3090209 3113932 +0.8% 0.99x
Join 440 445 +1.1% 0.99x
ObjectAllocation 143 144 +0.7% 0.99x(?)
StrComplexWalk 2978 3001 +0.8% 0.99x(?)
ErrorHandling 2997 3014 +0.6% 0.99x(?)
ObjectiveCBridgeToNSSet 15966 16106 +0.9% 0.99x(?)
ObjectiveCBridgeStubURLAppendPath 191093 192219 +0.6% 0.99x(?)
SetExclusiveOr 3695 3722 +0.7% 0.99x(?)
StringBuilder 1519 1539 +1.3% 0.99x(?)
Sim2DArray 430 433 +0.7% 0.99x(?)
StringHasPrefixUnicode 15162 15248 +0.6% 0.99x(?)
LinkedList 6794 6839 +0.7% 0.99x(?)
RGBHistogram 3038 3058 +0.7% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectForced 4051 4101 +1.2% 0.99x
StrToInt 4940 4981 +0.8% 0.99x
ArrayLiteral 988 996 +0.8% 0.99x(?)
ObjectiveCBridgeStubFromArrayOfNSString 111151 112585 +1.3% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 246927 251501 +1.9% 0.98x(?)
Histogram 651 665 +2.1% 0.98x
RangeAssignment 315 320 +1.6% 0.98x
StringHasPrefix 638 648 +1.6% 0.98x
StaticArray 2772 2819 +1.7% 0.98x(?)
StringHasSuffixUnicode 63789 65174 +2.2% 0.98x(?)
SetExclusiveOr_OfObjects 8274 8416 +1.7% 0.98x(?)
ObjectiveCBridgeStubNSDataAppend 2341 2393 +2.2% 0.98x
StackPromo 19053 19559 +2.7% 0.97x(?)
UTF8Decode 302 312 +3.3% 0.97x
Chars 628 646 +2.9% 0.97x
ObjectiveCBridgeStubNSDateMutationRef 11700 12124 +3.6% 0.97x(?)
ObjectiveCBridgeStubToNSDate 12991 13738 +5.8% 0.95x(?)
**Unoptimized (Onone)**

Regression (3)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 437 481 +10.1% 0.91x
ArrayOfGenericPOD 3394 3609 +6.3% 0.94x
StringHasSuffix 1636 1746 +6.7% 0.94x

Improvement (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
TypeFlood 163 144 -11.7% 1.13x(?)

No Changes (130)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 227157 216844 -4.5% 1.05x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 264785 253662 -4.2% 1.04x
StaticArray 28498 27510 -3.5% 1.04x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 175568 168242 -4.2% 1.04x
StringInterpolation 16252 15793 -2.8% 1.03x
NSError 681 662 -2.8% 1.03x(?)
Calculator 916 891 -2.7% 1.03x
Phonebook 63500 61432 -3.3% 1.03x
RGBHistogramOfObjects 102081 99404 -2.6% 1.03x(?)
ArraySubscript 5561 5433 -2.3% 1.02x(?)
SortStrings 2596 2543 -2.0% 1.02x(?)
DictionaryBridge 3873 3807 -1.7% 1.02x
RangeAssignment 23453 22951 -2.1% 1.02x(?)
ObjectAllocation 543 533 -1.8% 1.02x(?)
ObjectiveCBridgeStubDateMutation 462 455 -1.5% 1.02x
ObjectiveCBridgeToNSArray 31835 31268 -1.8% 1.02x(?)
StringWalk 25047 24507 -2.2% 1.02x(?)
Integrate 358 354 -1.1% 1.01x(?)
ErrorHandling 3854 3804 -1.3% 1.01x
ObjectiveCBridgeStubFromNSString 710 702 -1.1% 1.01x
AngryPhonebook 3615 3577 -1.1% 1.01x(?)
ArrayAppend 3621 3568 -1.5% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 138619 137262 -1.0% 1.01x(?)
NSDictionaryCastToSwift 14025 13909 -0.8% 1.01x(?)
StrToInt 5519 5443 -1.4% 1.01x
SetIsSubsetOf_OfObjects 2873 2857 -0.6% 1.01x
StringHasPrefixUnicode 17099 16955 -0.8% 1.01x(?)
NSStringConversion 2689 2662 -1.0% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7587 7528 -0.8% 1.01x(?)
ArrayAppendReserved 3412 3382 -0.9% 1.01x(?)
Chars 5266 5228 -0.7% 1.01x(?)
StringBuilder 2936 2893 -1.5% 1.01x(?)
ArrayValueProp2 2811 2796 -0.5% 1.01x
ArrayValueProp 2243 2227 -0.7% 1.01x(?)
ObjectiveCBridgeToNSString 1073 1076 +0.3% 1.00x(?)
DictionarySwapOfObjects 25196 25219 +0.1% 1.00x(?)
ClassArrayGetter 1291 1293 +0.1% 1.00x
Array2D 796041 796389 +0.0% 1.00x(?)
MonteCarloPi 50531 50560 +0.1% 1.00x(?)
StringWithCString 198176 197923 -0.1% 1.00x(?)
DictionarySwap 10920 10971 +0.5% 1.00x(?)
133 5849877 5857229 +0.1% 1.00x
Dictionary3OfObjects 2651 2642 -0.3% 1.00x
StrComplexWalk 7869 7884 +0.2% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
SuperChars 507911 509515 +0.3% 1.00x(?)
XorLoop 18550 18547 -0.0% 1.00x(?)
ProtocolDispatch 5354 5332 -0.4% 1.00x(?)
StringHasSuffixUnicode 65497 65267 -0.3% 1.00x(?)
ProtocolDispatch2 431 431 +0.0% 1.00x
Dictionary3 2045 2042 -0.1% 1.00x(?)
SetIntersect_OfObjects 19025 19100 +0.4% 1.00x(?)
ObjectiveCBridgeStubURLAppendPathRef 209800 209237 -0.3% 1.00x(?)
DictionaryOfObjects 5629 5623 -0.1% 1.00x(?)
PopFrontArrayGeneric 9422 9392 -0.3% 1.00x(?)
PopFrontUnsafePointer 236840 237334 +0.2% 1.00x(?)
CaptureProp 114316 114846 +0.5% 1.00x(?)
PolymorphicCalls 1143 1145 +0.2% 1.00x(?)
ObjectiveCBridgeStubToNSStringRef 164 164 +0.0% 1.00x
MapReduce 44194 44089 -0.2% 1.00x(?)
DictionaryRemoveOfObjects 61040 60988 -0.1% 1.00x(?)
UTF8Decode 42572 42514 -0.1% 1.00x(?)
ObjectiveCBridgeStubURLAppendPath 199636 199344 -0.1% 1.00x(?)
SetIsSubsetOf 2985 2971 -0.5% 1.00x(?)
Dictionary 2786 2788 +0.1% 1.00x(?)
NopDeinit 60533 60239 -0.5% 1.00x(?)
ObjectiveCBridgeStubDataAppend 3242 3234 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 169328 168945 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSString 4794 4814 +0.4% 1.00x(?)
Sim2DArray 13909 13843 -0.5% 1.00x(?)
SetExclusiveOr_OfObjects 65101 65144 +0.1% 1.00x(?)
MonteCarloE 106127 106120 -0.0% 1.00x(?)
SetUnion_OfObjects 49213 49325 +0.2% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Walsh 12251 12258 +0.1% 1.00x(?)
RGBHistogram 51224 51000 -0.4% 1.00x(?)
SetUnion 31525 31523 -0.0% 1.00x(?)
DeadArray 129642 129225 -0.3% 1.00x(?)
BitCount 97 97 +0.0% 1.00x
SevenBoom 1454 1453 -0.1% 1.00x(?)
Memset 19503 19511 +0.0% 1.00x(?)
Dictionary2OfObjects 7004 7009 +0.1% 1.00x(?)
ArrayValueProp4 2720 2721 +0.0% 1.00x(?)
TwoSum 9360 9403 +0.5% 1.00x(?)
ObjectiveCBridgeStubNSDataAppend 5178 5158 -0.4% 1.00x(?)
StackPromo 128113 128870 +0.6% 0.99x(?)
RecursiveOwnedParameter 7630 7682 +0.7% 0.99x(?)
Histogram 13831 13950 +0.9% 0.99x(?)
Prims 14428 14574 +1.0% 0.99x(?)
SortLettersInPlace 2510 2524 +0.6% 0.99x(?)
Dictionary2 5172 5239 +1.3% 0.99x
StringEqualPointerComparison 9481 9580 +1.0% 0.99x(?)
DictionaryLiteral 24511 24670 +0.7% 0.99x(?)
Hanoi 19200 19394 +1.0% 0.99x
SortStringsUnicode 10256 10311 +0.5% 0.99x(?)
SetIntersect 18986 19085 +0.5% 0.99x(?)
ObjectiveCBridgeStubNSDateRefAccess 1216 1231 +1.2% 0.99x(?)
ArrayOfGenericRef 9603 9718 +1.2% 0.99x(?)
ObjectiveCBridgeStubDateAccess 1094 1109 +1.4% 0.99x
ObjectiveCBridgeToNSDictionary 16142 16254 +0.7% 0.99x(?)
LinkedList 26134 26454 +1.2% 0.99x(?)
ObjectiveCBridgeStubFromArrayOfNSString 119048 119698 +0.6% 0.99x(?)
ObjectiveCBridgeStubFromNSDate 3824 3867 +1.1% 0.99x(?)
PopFrontArray 24361 24798 +1.8% 0.98x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7184 7340 +2.2% 0.98x(?)
ObjectiveCBridgeFromNSStringForced 2597 2642 +1.7% 0.98x(?)
ObjectiveCBridgeStubFromNSStringRef 171 175 +2.3% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObject 114993 117051 +1.8% 0.98x(?)
HashTest 5344 5471 +2.4% 0.98x(?)
StringHasPrefix 1594 1624 +1.9% 0.98x
ArrayOfRef 9102 9261 +1.8% 0.98x
ObjectiveCBridgeStubToArrayOfNSString 30364 30878 +1.7% 0.98x
DictionaryRemove 30841 31314 +1.5% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 127238 129286 +1.6% 0.98x(?)
ArrayLiteral 1058 1081 +2.2% 0.98x
ArrayValueProp3 2739 2803 +2.3% 0.98x
ObjectiveCBridgeFromNSArrayAnyObjectToString 167984 173795 +3.5% 0.97x
ObjectiveCBridgeStubFromNSDateRef 3988 4091 +2.6% 0.97x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8661 8943 +3.3% 0.97x(?)
ObjectiveCBridgeStubToNSDate 12835 13266 +3.4% 0.97x(?)
Join 1454 1493 +2.7% 0.97x
ObjectiveCBridgeFromNSArrayAnyObject 68194 70198 +2.9% 0.97x
ArrayInClass 3651 3749 +2.7% 0.97x
RC4 8474 8706 +2.7% 0.97x
ObjectiveCBridgeStubToNSDateRef 3167 3301 +4.2% 0.96x
SetExclusiveOr 45652 47589 +4.2% 0.96x
ObjectiveCBridgeToNSSet 15776 16479 +4.5% 0.96x
ObjectiveCBridgeStubNSDateMutationRef 13610 14241 +4.6% 0.96x(?)
ObjectiveCBridgeStubToNSString 1286 1355 +5.4% 0.95x
ArrayOfPOD 2318 2428 +4.8% 0.95x
**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

@gribozavr gribozavr force-pushed the stdlib-make-array-implementation-internal branch from 73a031b to 75fa118 Compare July 17, 2016 02:07
@gribozavr
Copy link
Contributor Author

@swift-ci Please test

@gribozavr
Copy link
Contributor Author

gribozavr commented Aug 7, 2016

Splitting this PR: #4083, #4085.

@gribozavr gribozavr closed this Aug 7, 2016
@gribozavr gribozavr deleted the stdlib-make-array-implementation-internal branch August 7, 2016 23:13
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