Skip to content
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

New integer protocols #3796

Merged
merged 262 commits into from
Apr 17, 2017
Merged

New integer protocols #3796

merged 262 commits into from
Apr 17, 2017

Conversation

dabrahams
Copy link
Contributor

@dabrahams dabrahams commented Jul 27, 2016

Work on integers from @moiseev

What's in this pull request?

Resolved bug number: (SR-)


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

A smoke test on macOS does the following:

  1. Builds the compiler incrementally.
  2. Builds the standard library only for macOS. Simulator standard libraries and
    device standard libraries are not built.
  3. lldb is not built.
  4. The test and validation-test targets are run only for macOS. The optimized
    version of these tests are not run.

A smoke test on Linux does the following:

  1. Builds the compiler incrementally.
  2. Builds the standard library incrementally.
  3. lldb is built incrementally.
  4. The swift test and validation-test targets are run. The optimized version of these
    tests are not run.
  5. lldb is tested.

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.

@@ -13,14 +13,15 @@
import SwiftShims

/// Convert the given numeric value to a hexadecimal string.
public func asHex<T : Integer>(_ x: T) -> String {
return "0x" + String(x.toIntMax(), radix: 16)
public func asHex<T : FixedWidthInteger>(_ x: T) -> String {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Can’t we convert an arbitrary-width integer to hex?

Copy link
Contributor

Choose a reason for hiding this comment

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

Added a FIXME.

@dabrahams
Copy link
Contributor Author

Lots of missing doc comments in the code!

public func signum() -> Self {
// FIXME(integers): implement
fatalError()
if self < (0 as Self) { return -1 }
Copy link
Contributor Author

Choose a reason for hiding this comment

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

if these as Selfs are really needed I think there’s a compiler bug that should be reported. Otherwise we should just say 0.

Copy link
Contributor

Choose a reason for hiding this comment

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

They were needed at some point, but are not now. Removed.

Max Moiseev added 5 commits April 12, 2017 14:51
In Swift 3 shifts used to be defined on the concrete integer types, so
the right-hand-side value in the shift expression could define a type
for the result, as in `1 << i32` would have the type Int32. Swift 4
makes shift operators heterogeneous, so now `1 << i32` will result in an
Int, according to the type of the left-hand-side value, which gets a
default type for integer literals.
@moiseev
Copy link
Contributor

moiseev commented Apr 14, 2017

apple/swift-xcode-playground-support#13
@swift-ci Please test macOS platform

@moiseev
Copy link
Contributor

moiseev commented Apr 14, 2017

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 8de33b4
Test requested by - @moiseev

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (42)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
CharacterLiteralsSmall 133 778 +485.0% 0.17x
ArrayAppendAscii 19935 42094 +111.2% 0.47x
SuffixArray 10 18 +80.0% 0.56x
Dictionary3 596 828 +38.9% 0.72x
StringHasSuffix 677 937 +38.4% 0.72x
Dictionary3OfObjects 1057 1413 +33.7% 0.75x
NopDeinit 21368 27425 +28.4% 0.78x
SetUnion_OfObjects 6332 7973 +25.9% 0.79x
StringEdits 533794 671044 +25.7% 0.80x
StrToInt 4816 6010 +24.8% 0.80x
StringHasPrefix 608 743 +22.2% 0.82x
Dictionary2OfObjects 3602 4381 +21.6% 0.82x
SetExclusiveOr_OfObjects 7807 9446 +21.0% 0.83x
Calculator 36 43 +19.4% 0.84x
StringMatch 35792 42710 +19.3% 0.84x
SuperChars 250738 295801 +18.0% 0.85x
StringInterpolation 9275 10931 +17.9% 0.85x
DictionaryOfObjects 2572 3001 +16.7% 0.86x
Dictionary 811 944 +16.4% 0.86x
ArrayAppendUTF16 41435 48095 +16.1% 0.86x
Dictionary2 2129 2388 +12.2% 0.89x
DropLastCountableRange 8 9 +12.5% 0.89x
ProtocolDispatch 2727 3030 +11.1% 0.90x
ExistentialTestMutating_IntValueBuffer0 13638 15153 +11.1% 0.90x
ExistentialTestArrayShift_IntValueBuffer3 3726 4076 +9.4% 0.91x
ArrayAppendLatin1 44751 49080 +9.7% 0.91x
DropLastArray 10 11 +10.0% 0.91x
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 48495 53038 +9.4% 0.91x
ExistentialTestOneMethodCall_ClassValueBuffer1 15154 16669 +10.0% 0.91x
ExistentialTestOneMethodCall_ClassValueBuffer3 15154 16670 +10.0% 0.91x
TwoSum 863 953 +10.4% 0.91x
ExistentialTestTwoMethodCalls_IntValueBuffer1 28805 31266 +8.5% 0.92x
SortLettersInPlace 1158 1265 +9.2% 0.92x
ExistentialTestArrayShift_ClassValueBuffer3 3733 4076 +9.2% 0.92x
SetUnion 2143 2336 +9.0% 0.92x
ExistentialTestArrayOneMethodCall_IntValueBuffer3 5568 5907 +6.1% 0.94x
ReversedDictionary 101 107 +5.9% 0.94x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 99618 105556 +6.0% 0.94x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 43945 46977 +6.9% 0.94x
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 45463 48492 +6.7% 0.94x
ExistentialTestArrayShift_ClassValueBuffer4 3310 3503 +5.8% 0.94x
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 47019 50101 +6.5% 0.94x
Improvement (18)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
Chars 1455 1376 -5.4% 1.06x(?)
ExistentialTestOneMethodCall_ClassValueBuffer4 18185 16925 -6.9% 1.07x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39983 37437 -6.4% 1.07x(?)
Join 484 451 -6.8% 1.07x
Integrate 282 262 -7.1% 1.08x
ObjectiveCBridgeStubNSDateRefAccess 345 318 -7.8% 1.08x
ObjectiveCBridgeStubFromArrayOfNSString 30893 28346 -8.2% 1.09x(?)
DropLastAnySequence 44 40 -9.1% 1.10x
CStringLongAscii 15276 13887 -9.1% 1.10x
ExistentialTestTwoMethodCalls_IntValueBuffer0 31674 28792 -9.1% 1.10x
ExistentialTestOneMethodCall_ClassValueBuffer2 16669 15217 -8.7% 1.10x
OpenClose 54 48 -11.1% 1.12x
SuffixAnySequence 45 40 -11.1% 1.12x
ExistentialTestTwoMethodCalls_ClassValueBuffer2 33914 30308 -10.6% 1.12x
ExistentialTestTwoMethodCalls_ClassValueBuffer4 37644 33458 -11.1% 1.13x
CharacterLiteralsLarge 12282 10536 -14.2% 1.17x
SetIntersect 328 272 -17.1% 1.21x
ErrorHandling 2909 2356 -19.0% 1.23x
No Changes (231)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
MapReduceLazyCollectionShort 45 43 -4.4% 1.05x
Hanoi 3598 3427 -4.8% 1.05x
ExistentialTestTwoMethodCalls_IntValueBuffer3 30308 28792 -5.0% 1.05x
PolymorphicCalls 22 21 -4.5% 1.05x
CStringLongNonAscii 4414 4216 -4.5% 1.05x
ExistentialTestTwoMethodCalls_IntValueBuffer2 30309 28793 -5.0% 1.05x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 7761 7474 -3.7% 1.04x
StringWithCString 335210 324522 -3.2% 1.03x
SortSortedStrings 892 870 -2.5% 1.03x
Phonebook 7761 7525 -3.0% 1.03x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 105994 103068 -2.8% 1.03x
ArraySubscript 1522 1491 -2.0% 1.02x(?)
StringUTF16Builder 2174 2136 -1.8% 1.02x
RecursiveOwnedParameter 2356 2315 -1.7% 1.02x
MonteCarloPi 44808 44073 -1.6% 1.02x
AnyHashableWithAClass 69436 68241 -1.7% 1.02x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 77071 75514 -2.0% 1.02x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 390968 384904 -1.6% 1.02x(?)
MonteCarloE 10634 10421 -2.0% 1.02x
CStringShortAscii 6287 6143 -2.3% 1.02x(?)
ExistentialTestMutating_ClassValueBuffer2 19526 19199 -1.7% 1.02x
ObjectiveCBridgeStubFromNSStringRef 178 175 -1.7% 1.02x
ArrayAppendSequence 1018 995 -2.3% 1.02x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 76448 74902 -2.0% 1.02x
ObjectiveCBridgeStubNSDateMutationRef 12430 12227 -1.6% 1.02x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 105154 103045 -2.0% 1.02x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 248529 244894 -1.5% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5864 5816 -0.8% 1.01x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer2 5585 5529 -1.0% 1.01x
ObjectiveCBridgeFromNSStringForced 2349 2322 -1.1% 1.01x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 7494 7438 -0.8% 1.01x(?)
ArrayAppendOptionals 1222 1215 -0.6% 1.01x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer1 31062 30828 -0.8% 1.01x
ObjectAllocation 179 178 -0.6% 1.01x(?)
AngryPhonebook 2928 2895 -1.1% 1.01x(?)
HashTest 1744 1726 -1.0% 1.01x(?)
ArrayOfRef 3905 3885 -0.5% 1.01x(?)
SetIsSubsetOf 293 290 -1.0% 1.01x
ExistentialTestMutating_IntValueBuffer4 51987 51559 -0.8% 1.01x(?)
MapReduceShort 1959 1942 -0.9% 1.01x(?)
DictionaryLiteral 1496 1487 -0.6% 1.01x(?)
DictionaryRemoveOfObjects 23455 23223 -1.0% 1.01x
SortStringsUnicode 7774 7717 -0.7% 1.01x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 7520 7474 -0.6% 1.01x
SortStrings 1757 1733 -1.4% 1.01x(?)
StringBuilder 1362 1343 -1.4% 1.01x
ExistentialTestArrayOneMethodCall_IntValueBuffer4 14409 14336 -0.5% 1.01x
RC4 158 157 -0.6% 1.01x
MapReduceAnyCollection 343 341 -0.6% 1.01x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 243983 242551 -0.6% 1.01x
DropLastSequence 4616 4618 +0.0% 1.00x(?)
DictionarySwapOfObjects 6916 6917 +0.0% 1.00x(?)
ObjectiveCBridgeStubToNSString 1519 1526 +0.5% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43351 43190 -0.4% 1.00x(?)
ClassArrayGetter 13 13 +0.0% 1.00x
Array2D 2056 2057 +0.1% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 16203 16186 -0.1% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 36431 36452 +0.1% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 26663 26662 -0.0% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 17160 17157 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer0 5529 5527 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer1 5527 5529 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4463 4454 -0.2% 1.00x(?)
Prims 780 781 +0.1% 1.00x(?)
DictionarySwap 369 369 +0.0% 1.00x
ArrayAppendToFromGeneric 596 596 +0.0% 1.00x
MapReduceString 70 70 +0.0% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 16011 15944 -0.4% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 7829 7856 +0.3% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 142452 142447 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer4 60417 60355 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer3 121207 121208 +0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer2 90622 90623 +0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer0 30652 30691 +0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer4 61524 61567 +0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer2 31617 31596 -0.1% 1.00x(?)
RangeAssignment 308 309 +0.3% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer1 60811 60813 +0.0% 1.00x(?)
ByteSwap 0 0 +0.0% 1.00x
ArrayAppendGenericStructs 1223 1227 +0.3% 1.00x(?)
ArrayAppendLazyMap 998 1002 +0.4% 1.00x(?)
ArrayPlusEqualFiveElementCollection 5308 5294 -0.3% 1.00x(?)
ObjectiveCBridgeStubToNSDate 14288 14288 +0.0% 1.00x
ArrayAppendReserved 532 532 +0.0% 1.00x
ExistentialTestArrayMutating_ClassValueBuffer3 14188 14181 -0.1% 1.00x(?)
LazilyFilteredRange 6930 6932 +0.0% 1.00x(?)
MapReduceLazySequence 90 90 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 774 774 +0.0% 1.00x
ArrayAppendStrings 13643 13625 -0.1% 1.00x(?)
ExistentialTestOneMethodCall_IntValueBuffer0 15154 15153 -0.0% 1.00x(?)
ExistentialTestOneMethodCall_IntValueBuffer1 15154 15154 +0.0% 1.00x
ExistentialTestOneMethodCall_IntValueBuffer2 15154 15153 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer3 32476 32330 -0.5% 1.00x
ExistentialTestOneMethodCall_IntValueBuffer4 16670 16672 +0.0% 1.00x(?)
ObserverUnappliedMethod 2649 2642 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObject 74972 74772 -0.3% 1.00x(?)
ArrayPlusEqualArrayOfInt 596 596 +0.0% 1.00x
StrComplexWalk 984 984 +0.0% 1.00x
ExistentialTestArrayMutating_ClassValueBuffer2 14195 14183 -0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer1 14191 14183 -0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer4 16901 16914 +0.1% 1.00x(?)
ObjectiveCBridgeToNSSet 36464 36326 -0.4% 1.00x(?)
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
NSError 291 292 +0.3% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3405 3413 +0.2% 1.00x(?)
PopFrontUnsafePointer 8999 8983 -0.2% 1.00x(?)
StringEqualPointerComparison 7274 7282 +0.1% 1.00x(?)
CaptureProp 4556 4573 +0.4% 1.00x
MapReduceAnyCollectionShort 2093 2083 -0.5% 1.00x(?)
StringAdder 0 0 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 110 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 155525 155239 -0.2% 1.00x(?)
ArrayAppendFromGeneric 596 596 +0.0% 1.00x
XorLoop 347 347 +0.0% 1.00x
MapReduceSequence 465 464 -0.2% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 77345 77015 -0.4% 1.00x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 224264 224276 +0.0% 1.00x(?)
ReversedBidirectional 48400 48355 -0.1% 1.00x(?)
IterateData 762 764 +0.3% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 222504 221794 -0.3% 1.00x(?)
StringHasPrefixUnicode 14197 14266 +0.5% 1.00x
LazilyFilteredArrays 71579 71624 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObject 23094 23175 +0.3% 1.00x(?)
ObjectiveCBridgeStubDataAppend 3688 3672 -0.4% 1.00x(?)
NSDictionaryCastToSwift 5249 5263 +0.3% 1.00x(?)
ExistentialTestMutating_IntValueBuffer1 16631 16669 +0.2% 1.00x
ArrayInClass 61 61 +0.0% 1.00x
ArrayOfGenericRef 4003 3993 -0.2% 1.00x(?)
ExistentialTestTwoMethodCalls_IntValueBuffer4 37386 37386 +0.0% 1.00x
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
ArrayAppendRepeatCol 837 835 -0.2% 1.00x(?)
MapReduceShortString 18 18 +0.0% 1.00x
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 14574 14553 -0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 15994 15994 +0.0% 1.00x
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 35623 35624 +0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 24917 24917 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer4 18262 18262 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer3 15722 15722 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer2 14186 14185 -0.0% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer1 14752 14753 +0.0% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer0 14565 14565 +0.0% 1.00x
StringHasSuffixUnicode 61585 61461 -0.2% 1.00x(?)
ArrayAppendToGeneric 596 596 +0.0% 1.00x
SetIsSubsetOf_OfObjects 357 356 -0.3% 1.00x
ArrayAppend 774 774 +0.0% 1.00x
DictionaryRemove 3192 3189 -0.1% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 121230 121233 +0.0% 1.00x(?)
LinkedList 7108 7122 +0.2% 1.00x(?)
SuffixCountableRange 8 8 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObjectForced 4906 4901 -0.1% 1.00x(?)
ArrayAppendArrayOfInt 596 596 +0.0% 1.00x
ExistentialTestOneMethodCall_IntValueBuffer3 15154 15159 +0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 221243 221241 -0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 534920 534939 +0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 365732 365757 +0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 223977 223951 -0.0% 1.00x(?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ObserverForwarderStruct 1117 1118 +0.1% 1.00x(?)
DeadArray 181 181 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
BitCount 0 0 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
SuffixSequence 4981 4957 -0.5% 1.00x(?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayValueProp 6 6 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
MapReduceClass 2980 2979 -0.0% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 234 234 +0.0% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 105910 106081 +0.2% 1.00x(?)
ArrayValueProp4 6 6 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3822 3841 +0.5% 1.00x(?)
StackPromo 22012 22255 +1.1% 0.99x(?)
PopFrontArray 1098 1108 +0.9% 0.99x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 280336 281856 +0.5% 0.99x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 203065 204578 +0.8% 0.99x(?)
ObjectiveCBridgeStubFromNSDateRef 3612 3636 +0.7% 0.99x(?)
ObserverClosure 2280 2295 +0.7% 0.99x(?)
StaticArray 162 163 +0.6% 0.99x(?)
ProtocolDispatch2 168 169 +0.6% 0.99x(?)
SetIntersect_OfObjects 1720 1737 +1.0% 0.99x(?)
ObjectiveCBridgeStubURLAppendPathRef 221380 223556 +1.0% 0.99x(?)
ObjectiveCBridgeToNSArray 28768 29067 +1.0% 0.99x(?)
PopFrontArrayGeneric 1095 1107 +1.1% 0.99x(?)
ExistentialTestMutating_IntValueBuffer3 21283 21552 +1.3% 0.99x
MapReduce 336 341 +1.5% 0.99x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 250028 253074 +1.2% 0.99x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 547414 553044 +1.0% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectToString 80501 81100 +0.7% 0.99x(?)
ObjectiveCBridgeFromNSString 1429 1443 +1.0% 0.99x(?)
ObjectiveCBridgeToNSDictionary 59186 59490 +0.5% 0.99x(?)
Walsh 352 357 +1.4% 0.99x
HashQuadratic 6313902 6345947 +0.5% 0.99x(?)
ArrayLiteral 1209 1220 +0.9% 0.99x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 101894 103058 +1.1% 0.99x(?)
ObjectiveCBridgeStubNSDataAppend 2273 2291 +0.8% 0.99x(?)
SevenBoom 1467 1478 +0.8% 0.99x(?)
ObjectiveCBridgeToNSString 1275 1298 +1.8% 0.98x(?)
Histogram 242 248 +2.5% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObject 129675 132653 +2.3% 0.98x(?)
290 16642981 17004879 +2.2% 0.98x
ObjectiveCBridgeStubFromNSString 910 929 +2.1% 0.98x
MapReduceClassShort 4451 4548 +2.2% 0.98x
StringBuilderLong 956 973 +1.8% 0.98x(?)
ExistentialTestMutating_IntValueBuffer2 18412 18770 +1.9% 0.98x
ObjectiveCBridgeStubToArrayOfNSString 28081 28600 +1.9% 0.98x(?)
SetExclusiveOr 2556 2595 +1.5% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 71482 72734 +1.8% 0.98x(?)
StringWalk 5834 5939 +1.8% 0.98x
ObjectiveCBridgeStubFromNSDate 3584 3673 +2.5% 0.98x(?)
DictionaryBridge 2662 2741 +3.0% 0.97x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 77454 79656 +2.8% 0.97x(?)
UTF8Decode 280 289 +3.2% 0.97x
RGBHistogram 2425 2494 +2.9% 0.97x
RGBHistogramOfObjects 23842 24854 +4.2% 0.96x
ExistentialTestTwoMethodCalls_ClassValueBuffer3 30309 31824 +5.0% 0.95x
ExistentialTestArrayShift_IntValueBuffer4 3315 3502 +5.6% 0.95x
ExistentialTestArrayShift_IntValueBuffer2 3326 3499 +5.2% 0.95x
ExistentialTestArrayShift_IntValueBuffer1 3314 3503 +5.7% 0.95x
ExistentialTestArrayShift_IntValueBuffer0 3308 3497 +5.7% 0.95x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 97216 102325 +5.3% 0.95x(?)
ExistentialTestArrayShift_ClassValueBuffer2 3328 3500 +5.2% 0.95x
ExistentialTestArrayShift_ClassValueBuffer1 3314 3503 +5.7% 0.95x
ExistentialTestMutating_ClassValueBuffer3 18187 19199 +5.6% 0.95x
ExistentialTestMutating_ClassValueBuffer1 18189 19200 +5.6% 0.95x
ExistentialTestMutating_ClassValueBuffer4 40748 43009 +5.5% 0.95x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer1 30308 31824 +5.0% 0.95x
NSStringConversion 731 766 +4.8% 0.95x
**Unoptimized (Onone)**
Regression (33)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ByteSwap 8 273 +3312.1% 0.03x
BitCount 101 885 +776.2% 0.11x
PolymorphicCalls 787 2905 +269.1% 0.27x
HashTest 6010 19276 +220.7% 0.31x
RC4 7225 19510 +170.0% 0.37x
MonteCarloE 83643 146571 +75.2% 0.57x
StringEdits 876948 1143277 +30.4% 0.77x
IterateData 10346 12529 +21.1% 0.83x
SuperChars 274324 318167 +16.0% 0.86x
NopDeinit 45940 53302 +16.0% 0.86x
MapReduceShortString 234 273 +16.7% 0.86x
MapReduceString 2240 2589 +15.6% 0.87x
StringAdder 42 48 +14.3% 0.88x
Calculator 921 1050 +14.0% 0.88x
StringMatch 87245 99400 +13.9% 0.88x
RGBHistogramOfObjects 87484 98807 +12.9% 0.89x
ArrayAppend 3701 4121 +11.3% 0.90x
DictionaryRemove 19638 21903 +11.5% 0.90x
ArrayAppendSequence 73679 81546 +10.7% 0.90x
PopFrontArray 10775 11845 +9.9% 0.91x
DictionarySwap 5058 5564 +10.0% 0.91x
MapReduceAnyCollectionShort 47238 51651 +9.3% 0.91x
Dictionary 1805 1994 +10.5% 0.91x
ObjectiveCBridgeStubFromNSDate 3866 4267 +10.4% 0.91x
PopFrontArrayGeneric 8058 8725 +8.3% 0.92x
CaptureProp 107084 116069 +8.4% 0.92x
MapReduceLazySequence 27015 29237 +8.2% 0.92x
ArrayAppendReserved 3238 3534 +9.1% 0.92x
ObjectiveCBridgeStubToNSDate 14493 15503 +7.0% 0.93x(?)
TwoSum 4079 4391 +7.7% 0.93x
ArrayAppendRepeatCol 209917 223233 +6.3% 0.94x
Dictionary2 3802 4063 +6.9% 0.94x
MapReduceShort 47137 50053 +6.2% 0.94x
Improvement (8)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 420402 398170 -5.3% 1.06x
Chars 7933 7363 -7.2% 1.08x
ObjectiveCBridgeStubFromArrayOfNSString 31676 29060 -8.3% 1.09x
StringHasSuffix 1678 1545 -7.9% 1.09x
OpenClose 473 404 -14.6% 1.17x
ArrayAppendAscii 85000 65821 -22.6% 1.29x
ArrayAppendUTF16 104065 75300 -27.6% 1.38x
ArrayAppendLatin1 104790 75559 -27.9% 1.39x
No Changes (250)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringWithCString 345341 328420 -4.9% 1.05x
CStringLongAscii 17115 16349 -4.5% 1.05x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 41246 39107 -5.2% 1.05x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 288816 278144 -3.7% 1.04x
ExistentialTestMutating_IntValueBuffer4 322794 313584 -2.9% 1.03x
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 87506 84777 -3.1% 1.03x
HashQuadratic 49196270 47930607 -2.6% 1.03x
StringWalk 21964 21373 -2.7% 1.03x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 390105 383419 -1.7% 1.02x
SortStringsUnicode 9292 9085 -2.2% 1.02x(?)
ProtocolDispatch 7064 6934 -1.8% 1.02x
ExistentialTestMutating_IntValueBuffer3 228686 225238 -1.5% 1.02x
ObjectiveCBridgeStubDateAccess 1030 1014 -1.6% 1.02x(?)
ExistentialTestTwoMethodCalls_IntValueBuffer0 76093 74313 -2.3% 1.02x
MonteCarloPi 53525 52286 -2.3% 1.02x
ExistentialTestArrayOneMethodCall_IntValueBuffer4 134721 132568 -1.6% 1.02x
ExistentialTestMutating_ClassValueBuffer3 222033 218725 -1.5% 1.02x
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 215713 212224 -1.6% 1.02x
ObjectiveCBridgeFromNSArrayAnyObjectToString 45850 44909 -2.0% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 8417 8228 -2.2% 1.02x
DeadArray 124327 122012 -1.9% 1.02x(?)
ObjectiveCBridgeToNSString 1316 1308 -0.6% 1.01x(?)
AnyHashableWithAClass 85073 84492 -0.7% 1.01x(?)
SortStrings 2820 2796 -0.8% 1.01x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 203703 202441 -0.6% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 8354 8294 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSStringForced 2749 2730 -0.7% 1.01x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 136928 135444 -1.1% 1.01x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 674813 666210 -1.3% 1.01x
ArrayAppendLazyMap 224020 221973 -0.9% 1.01x
StringUTF16Builder 3680 3638 -1.1% 1.01x(?)
StaticArray 4670 4615 -1.2% 1.01x
StringHasSuffixUnicode 63395 62874 -0.8% 1.01x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 231301 229831 -0.6% 1.01x(?)
ProtocolDispatch2 491 485 -1.2% 1.01x
StringBuilderLong 1127 1117 -0.9% 1.01x
ObjectiveCBridgeStubToNSStringRef 170 169 -0.6% 1.01x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 143158 141718 -1.0% 1.01x
290 93487766 92274511 -1.3% 1.01x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 132056 130858 -0.9% 1.01x(?)
ArrayOfGenericRef 9764 9639 -1.3% 1.01x(?)
ExistentialTestTwoMethodCalls_IntValueBuffer3 93068 91773 -1.4% 1.01x
ExistentialTestTwoMethodCalls_ClassValueBuffer2 708490 703971 -0.6% 1.01x
ObjectiveCBridgeToNSDictionary 60744 60092 -1.1% 1.01x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 176279 175241 -0.6% 1.01x
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 198679 197667 -0.5% 1.01x
StringHasPrefixUnicode 16035 15934 -0.6% 1.01x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 190746 188087 -1.4% 1.01x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 238944 235779 -1.3% 1.01x
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 933100 928197 -0.5% 1.01x
StringBuilder 2835 2818 -0.6% 1.01x(?)
ObjectiveCBridgeStubNSDataAppend 2649 2620 -1.1% 1.01x(?)
Memset 44522 43980 -1.2% 1.01x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 198472 195648 -1.4% 1.01x
ObserverUnappliedMethod 8392 8404 +0.1% 1.00x(?)
ArraySubscript 4184 4167 -0.4% 1.00x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer3 860275 857893 -0.3% 1.00x
ExistentialTestArrayShift_IntValueBuffer4 176302 176651 +0.2% 1.00x(?)
ExistentialTestArrayShift_IntValueBuffer3 180062 179578 -0.3% 1.00x
ExistentialTestArrayShift_IntValueBuffer2 178522 178807 +0.2% 1.00x(?)
ExistentialTestArrayShift_IntValueBuffer1 178813 179087 +0.1% 1.00x
ClassArrayGetter 931 931 +0.0% 1.00x
Array2D 606963 605265 -0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 238545 237731 -0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 261219 261205 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer0 129855 129895 +0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer1 130168 130157 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer2 130446 130615 +0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer3 130937 130723 -0.2% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 797880 796362 -0.2% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 644127 642597 -0.2% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 140892 140727 -0.1% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 134622 134809 +0.1% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 133342 133244 -0.1% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 133568 133451 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer3 424617 424262 -0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer2 383404 383501 +0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer0 288098 287907 -0.1% 1.00x
ExistentialTestArrayConditionalShift_ClassValueBuffer4 358089 358061 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer2 289239 288614 -0.2% 1.00x
RangeAssignment 5719 5702 -0.3% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer4 315425 315378 -0.0% 1.00x(?)
StringHasPrefix 1635 1628 -0.4% 1.00x(?)
CharacterLiteralsLarge 14431 14431 +0.0% 1.00x
ObserverClosure 6628 6648 +0.3% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer3 122267 122072 -0.2% 1.00x
CharacterLiteralsSmall 971 970 -0.1% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer1 289517 289300 -0.1% 1.00x(?)
Integrate 398 399 +0.2% 1.00x
Walsh 11897 11952 +0.5% 1.00x(?)
ObjectAllocation 634 634 +0.0% 1.00x
SortSortedStrings 1412 1407 -0.3% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 107465 107779 +0.3% 1.00x(?)
ArrayLiteral 1485 1488 +0.2% 1.00x
ExistentialTestArrayConditionalShift_ClassValueBuffer1 344152 343830 -0.1% 1.00x(?)
ExistentialTestArrayShift_IntValueBuffer0 177799 177687 -0.1% 1.00x
StrComplexWalk 5989 5992 +0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer2 122259 122021 -0.2% 1.00x
SetExclusiveOr_OfObjects 41101 41251 +0.4% 1.00x
ExistentialTestArrayMutating_ClassValueBuffer1 122265 122275 +0.0% 1.00x(?)
ArrayOfRef 8595 8606 +0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer4 124150 123951 -0.2% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 504436 502928 -0.3% 1.00x
SetIsSubsetOf 1637 1639 +0.1% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3483 3469 -0.4% 1.00x(?)
PopFrontUnsafePointer 160638 160495 -0.1% 1.00x(?)
ExistentialTestMutating_IntValueBuffer1 97156 97507 +0.4% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 128306 128128 -0.1% 1.00x(?)
ObjectiveCBridgeToNSArray 28965 29071 +0.4% 1.00x(?)
DictionaryLiteral 13269 13250 -0.1% 1.00x(?)
Hanoi 16732 16687 -0.3% 1.00x(?)
ObjectiveCBridgeStubURLAppendPath 227038 228064 +0.5% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 1322694 1320427 -0.2% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 2210728 2209899 -0.0% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 1758080 1753378 -0.3% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 1906738 1908977 +0.1% 1.00x
ExistentialTestArrayShift_ClassValueBuffer4 176303 176428 +0.1% 1.00x
ExistentialTestArrayShift_ClassValueBuffer2 178517 178570 +0.0% 1.00x(?)
ExistentialTestArrayShift_ClassValueBuffer3 180113 179586 -0.3% 1.00x
ExistentialTestArrayShift_ClassValueBuffer1 178784 179081 +0.2% 1.00x(?)
SetIntersect 10766 10768 +0.0% 1.00x(?)
ExistentialTestMutating_ClassValueBuffer1 220024 220808 +0.4% 1.00x
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 179022 178485 -0.3% 1.00x
ObjectiveCBridgeStubDateMutation 485 485 +0.0% 1.00x
ExistentialTestTwoMethodCalls_ClassValueBuffer1 554633 553742 -0.2% 1.00x
ExistentialTestTwoMethodCalls_ClassValueBuffer4 865391 865524 +0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 161488 161577 +0.1% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer1 105733 105486 -0.2% 1.00x
ExistentialTestArrayMutating_IntValueBuffer0 101026 101004 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer3 289633 289405 -0.1% 1.00x
SetIsSubsetOf_OfObjects 1632 1627 -0.3% 1.00x
LinkedList 32946 32950 +0.0% 1.00x(?)
ExistentialTestOneMethodCall_IntValueBuffer3 41514 41446 -0.2% 1.00x(?)
SetUnion 11879 11866 -0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 1260172 1259573 -0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 949653 948708 -0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 650974 651770 +0.1% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 4057 4067 +0.2% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer2 111054 111035 -0.0% 1.00x(?)
ObserverForwarderStruct 4729 4739 +0.2% 1.00x(?)
AngryPhonebook 3085 3084 -0.0% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer4 368219 368240 +0.0% 1.00x(?)
ArrayValueProp3 3413 3423 +0.3% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer1 220057 220069 +0.0% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer3 375811 375830 +0.0% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer2 300050 300060 +0.0% 1.00x(?)
ArrayOfPOD 1832 1832 +0.0% 1.00x
ArrayValueProp 3025 3026 +0.0% 1.00x(?)
ObjectiveCBridgeStubNSDateMutationRef 15464 15458 -0.0% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 219602 219150 -0.2% 1.00x
ArrayValueProp4 3337 3333 -0.1% 1.00x(?)
ArrayValueProp2 3639 3636 -0.1% 1.00x(?)
ObserverPartiallyAppliedMethod 8118 8092 -0.3% 1.00x(?)
StackPromo 98519 99907 +1.4% 0.99x(?)
ObjectiveCBridgeStubToNSString 1586 1601 +0.9% 0.99x(?)
ReversedArray 580 588 +1.4% 0.99x
ObjectiveCBridgeFromNSArrayAnyObjectForced 7825 7892 +0.9% 0.99x(?)
Prims 8899 9003 +1.2% 0.99x
ArrayAppendToFromGeneric 656 661 +0.8% 0.99x
ArrayAppendStrings 13644 13757 +0.8% 0.99x(?)
ObjectiveCBridgeStubFromNSString 990 1002 +1.2% 0.99x(?)
ArrayPlusEqualArrayOfInt 654 659 +0.8% 0.99x
SetIntersect_OfObjects 11210 11269 +0.5% 0.99x
Join 1322 1331 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPathRef 229003 231998 +1.3% 0.99x(?)
ArrayAppendOptionals 1292 1309 +1.3% 0.99x
NSError 712 720 +1.1% 0.99x(?)
ExistentialTestMutating_IntValueBuffer2 161647 162911 +0.8% 0.99x
ArrayAppendFromGeneric 656 660 +0.6% 0.99x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 253490 256694 +1.3% 0.99x
UTF8Decode 37036 37336 +0.8% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 28409 28744 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 25475 25615 +0.6% 0.99x(?)
ObjectiveCBridgeStubDataAppend 3718 3763 +1.2% 0.99x(?)
ExistentialTestMutating_ClassValueBuffer2 217684 219321 +0.8% 0.99x(?)
ExistentialTestMutating_ClassValueBuffer4 242954 244984 +0.8% 0.99x
ObjectiveCBridgeFromNSString 4060 4084 +0.6% 0.99x(?)
ExistentialTestTwoMethodCalls_IntValueBuffer2 82648 83541 +1.1% 0.99x
SetExclusiveOr 21064 21175 +0.5% 0.99x
SetUnion_OfObjects 29669 29845 +0.6% 0.99x
ExistentialTestArrayMutating_IntValueBuffer4 130900 131731 +0.6% 0.99x
ExistentialTestArrayMutating_IntValueBuffer3 117968 118774 +0.7% 0.99x
ArrayAppendToGeneric 657 661 +0.6% 0.99x
ErrorHandling 3802 3822 +0.5% 0.99x(?)
ObjectiveCBridgeToNSSet 36736 37207 +1.3% 0.99x(?)
SuffixCountableRange 118 119 +0.8% 0.99x
NSStringConversion 1312 1319 +0.5% 0.99x(?)
ArrayAppendArrayOfInt 653 658 +0.8% 0.99x
RGBHistogram 33295 33711 +1.2% 0.99x(?)
CStringLongNonAscii 4426 4486 +1.4% 0.99x
SevenBoom 1609 1620 +0.7% 0.99x(?)
Sim2DArray 29619 30016 +1.3% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObject 134991 137329 +1.7% 0.98x(?)
Histogram 8503 8712 +2.5% 0.98x(?)
SortLettersInPlace 2755 2815 +2.2% 0.98x
ArrayAppendGenericStructs 1289 1314 +1.9% 0.98x(?)
TypeFlood 166 169 +1.8% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObject 74229 75643 +1.9% 0.98x(?)
DropLastArray 2072 2114 +2.0% 0.98x
ExistentialTestMutating_IntValueBuffer0 41097 41749 +1.6% 0.98x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 132086 135052 +2.2% 0.98x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 130462 133012 +1.9% 0.98x
LazilyFilteredArrays 2718894 2771518 +1.9% 0.98x
NSDictionaryCastToSwift 6392 6512 +1.9% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 85174 86552 +1.6% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 74991 76644 +2.2% 0.98x(?)
DropLastCountableRange 118 120 +1.7% 0.98x
SuffixArray 2073 2115 +2.0% 0.98x
MapReduceClass 42135 43166 +2.5% 0.98x
DictionarySwapOfObjects 19603 20174 +2.9% 0.97x
RecursiveOwnedParameter 9413 9658 +2.6% 0.97x
DropLastAnySequence 6401 6633 +3.6% 0.97x
DictionaryBridge 2707 2803 +3.5% 0.97x(?)
ReversedDictionary 24702 25512 +3.3% 0.97x
Dictionary3OfObjects 2295 2369 +3.2% 0.97x
ArrayPlusEqualFiveElementCollection 267332 275446 +3.0% 0.97x
StringInterpolation 14361 14741 +2.6% 0.97x(?)
ArrayPlusEqualSingleElementCollection 264227 271806 +2.9% 0.97x
ObjectiveCBridgeStubFromNSStringRef 228 235 +3.1% 0.97x
DictionaryOfObjects 4783 4926 +3.0% 0.97x
MapReduceSequence 41239 42699 +3.5% 0.97x
DictionaryRemoveOfObjects 53576 55068 +2.8% 0.97x
SuffixAnySequence 6405 6629 +3.5% 0.97x
CStringShortAscii 9113 9380 +2.9% 0.97x
ObjectiveCBridgeStubNSDateRefAccess 1204 1240 +3.0% 0.97x
ReversedBidirectional 140895 145059 +3.0% 0.97x
SuffixSequence 40417 41539 +2.8% 0.97x
Dictionary2OfObjects 6188 6406 +3.5% 0.97x
ExistentialTestTwoMethodCalls_IntValueBuffer1 73260 76209 +4.0% 0.96x
XorLoop 22797 23707 +4.0% 0.96x
LazilyFilteredRange 1235939 1292322 +4.6% 0.96x
ExistentialTestOneMethodCall_IntValueBuffer1 39403 40917 +3.8% 0.96x
ExistentialTestOneMethodCall_IntValueBuffer2 40917 42434 +3.7% 0.96x
MapReduce 36510 37878 +3.8% 0.96x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 99863 104525 +4.7% 0.96x(?)
ArrayInClass 4551 4735 +4.0% 0.96x
ExistentialTestTwoMethodCalls_IntValueBuffer4 109262 113913 +4.3% 0.96x
DropLastSequence 41963 44065 +5.0% 0.95x
MapReduceLazyCollectionShort 43433 45893 +5.7% 0.95x
ExistentialTestOneMethodCall_IntValueBuffer0 40574 42809 +5.5% 0.95x
ExistentialTestOneMethodCall_IntValueBuffer4 43326 45522 +5.1% 0.95x
Dictionary3 1426 1501 +5.3% 0.95x
StringEqualPointerComparison 9518 9973 +4.8% 0.95x
ArrayOfGenericPOD 3076 3243 +5.4% 0.95x
MapReduceClassShort 51605 54502 +5.6% 0.95x
StrToInt 7608 8022 +5.4% 0.95x
Phonebook 21435 22534 +5.1% 0.95x
MapReduceAnyCollection 36533 38386 +5.1% 0.95x
MapReduceLazyCollection 32657 34397 +5.3% 0.95x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i5 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 16 GB

@moiseev
Copy link
Contributor

moiseev commented Apr 15, 2017

apple/swift-xcode-playground-support#13
@swift-ci Please test macOS platform

@moiseev
Copy link
Contributor

moiseev commented Apr 15, 2017

@moiseev
Copy link
Contributor

moiseev commented Apr 17, 2017

apple/swift-xcode-playground-support#13
@swift-ci Please test macOS platform

@moiseev
Copy link
Contributor

moiseev commented Apr 17, 2017

apple/swift-xcode-playground-support#13
@swift-ci Please test macOS platform

@moiseev
Copy link
Contributor

moiseev commented Apr 17, 2017

@moiseev moiseev merged commit 767e8f3 into master Apr 17, 2017
@moiseev moiseev changed the title New integer protocols [Not Ready to Merge] New integer protocols Apr 18, 2017
@DougGregor
Copy link
Member

W00t!

@dabrahams
Copy link
Contributor Author

dabrahams commented Apr 18, 2017

@moiseev https://github.com/dabrahams/swift/tree/integer-merge is the beginning of a merge into the unicode-rethink branch. Everything seems good except for AlternateIntegerWidths.swift.gyb, which you can experiment with in isolation if you like: https://gist.github.com/dabrahams/f7fa2b710b50340e168926842515de4b.

Update: I removed that file and made more progress, but will still likely need your help. AlternateIntegerWidths is still interesting as a backward-compatibility corner case.

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.

9 participants