Skip to content

[benchmark] SR-4780 Can not run performance tests that are not in precommit suite #9310

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 12, 2017

Conversation

palimondo
Copy link
Contributor

@palimondo palimondo commented May 5, 2017

Resolves SR-4780 Can not run performance tests that are not in precommit suite.

Modified driver to honor command line arguments when listing enabled tests. Fixed interaction between filters (positional arguments) and --run-all option.

Benchmark_Driver lists available benchmarks with --run-all option when benchmarks or filters are specified.

@palimondo
Copy link
Contributor Author

Please review.

@palimondo palimondo changed the title Fix SR-4780 Can not run performance tests that are not in precommit s… [benchmark] SR-4780 Can not run performance tests that are not in precommit s… May 5, 2017
@palimondo palimondo changed the title [benchmark] SR-4780 Can not run performance tests that are not in precommit s… [benchmark] SR-4780 Can not run performance tests that are not in precommit suite May 5, 2017
@palimondo
Copy link
Contributor Author

@slavapestov Please review

@palimondo palimondo changed the title [benchmark] SR-4780 Can not run performance tests that are not in precommit suite [WIP][benchmark] SR-4780 Can not run performance tests that are not in precommit suite May 5, 2017
@palimondo
Copy link
Contributor Author

@practicalswift The DriverUtils.swift has a strange formatting, using two spaces indentation. Gardening opportunity?

@palimondo palimondo changed the title [WIP][benchmark] SR-4780 Can not run performance tests that are not in precommit suite [benchmark] SR-4780 Can not run performance tests that are not in precommit suite May 5, 2017
@palimondo
Copy link
Contributor Author

palimondo commented May 5, 2017

I got spooked by a failing build with this change on my machine and changed the title to [WIP]… There must have been some bug in Type Checker in the revision I based this originally on (2048bd5f). So now I've rebased on current tip and hope it works. The error was quite a head-scratcher:

DriverUtils.swift:176:8: error: 'map' produces '[T]', not the expected contextual 
result type 'Test'
      .map { (testNumber, test) -> Test in
       ^

where the body of map was just a return of Test. 🤦‍♂️

@slavapestov, @gottesmm, @dabrahams Please benchmark, smoke test and merge 🤠

@practicalswift
Copy link
Contributor

@palimondo I'd be glad to clean up DriverUtils.swift if there is a rough consensus that the suggested space conversion is a good idea. Opinions from other people in the thread? :-)

@palimondo
Copy link
Contributor Author

@practicalswift We're talking after this lands, yes? 🤤

@practicalswift
Copy link
Contributor

@palimondo Sure :-)

@palimondo
Copy link
Contributor Author

I still can not build this locally when rebased on badf215 😅 Same error as I've reported above. I don't see anything wrong with my code. When I take the DriverUtils.swift and TestUtils.swift and build them in a new project with Xcode 8.3.2 all compiles just fine.

Please smoke benchmark @practicalswift @dabrahams @gottesmm @atrick @slavapestov

… If it turns out there's a bug in TypeChecker my code triggers, could you report that where appropriate? I'm signing off for tonight. Thank you!

@dabrahams
Copy link
Contributor

@swift-ci Please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented May 5, 2017

Build comment file:

Build failed before running benchmark.


@palimondo
Copy link
Contributor Author

The CI build failed with the same compilation error like my local build. 🤦‍♂️

@palimondo
Copy link
Contributor Author

I've filed SR-4816 Type Checker is drunk. 🤷‍♂️🍻🥂🥃🍸🍷

@CodaFi
Copy link
Contributor

CodaFi commented May 6, 2017

The type checker isn't drunk, you're hitting up against SE-110. The type of this map is ((T, U)) -> Test, not (T, U) -> Test.

@palimondo
Copy link
Contributor Author

palimondo commented May 6, 2017

@CodaFi Let me get that straight, because this seems supremely messed up… Are you saying that I have been bumping into the root cause of this problem whole past week, but didn't realize this is what's going on here?

There's SR-4745, where @natecook1000 asks about inability to destructure enumerated tuple. @jrose-apple says that's intended behavior in Swift 4. Then in SR-4738 @rudkx explains to me that general destructuring tuples in closure parameters isn't supported and the special case that made it work before for single tuple is going away in Swift 4 and workaround is to spell everything out.

Is there a conspiracy against readable yet concise functional code?

@palimondo
Copy link
Contributor Author

I've fixed the error, amended the commit and force pushed. Please smoke benchmark (& merge?).

Playing with this test case revealed multiple strange behaviors in type checker, see SR-4816, so maybe we were both drunk! 🍻😅

Copy link
Contributor

@gottesmm gottesmm left a comment

Choose a reason for hiding this comment

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

Some quick nits.

}

Copy link
Contributor

Choose a reason for hiding this comment

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

This should use enumerate. That is what you really want. Something like:

allTests.enumerate().map {
  (index, value) in
  let (key: name, value: function)) = value
  ...
}

Copy link
Contributor Author

@palimondo palimondo May 7, 2017

Choose a reason for hiding this comment

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

No I don't want enumerated, because it is off by one.

Again, this is something that lead me to file SR-4746 Let enumerated() count from specified number, pitch swift-evolution proposal but @airspeedswift says zip is the way to go. Rob Napier also independently refactored this code to use of zip when I asked him to improve on my style.

I don't normally summon the Council of Elrond about single bug fix, but this one irritated me so much I got my first article out of it...

... and some StackOverflow reputation for Python style conditional expression in Swift 3 🐍

.joined()

let included: Set<String>
if !filters.isEmpty { included = Set(filters) } else {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is there more indentation here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because I had to manually space indent by 2 spaces, like an animal… and made a mistake.

Would you provide the rough consensus @practicalswift seeks to fix formatting in this file? [gardening]


let included: Set<String>
if !filters.isEmpty { included = Set(filters) } else {
if onlyPrecommit { included = Set(precommitTests.keys) }
Copy link
Contributor

Choose a reason for hiding this comment

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

Also, can you not use one line if else? I.e.:

if !filter.isEmpty {
  ...
} else {
  ...
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I could give you what you ask for… but I've obsessed about that particular detail a lot. Do you really think

    let included: Set<String>
    if !filters.isEmpty  {
      included = Set(filters)
    } else {
      if onlyPrecommit {
        included = Set(precommitTests.keys)
      } else {
      included = Set(allTests.map { $0.key }) }
    }

is more clear way to express that we have 3 simple choices here? I don't think dogmatic adherence to one formatting style helps in this case.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

… but If you don't have allergy against ternary operator, my favorite version is:

    let included =
        !filters.isEmpty ? Set(filters) :
        onlyPrecommit ? Set(precommitTests.keys) :
        Set(allTests.map { $0.key })

Just tell me which one you prefer and I'll amend and force push to get this over with!

Copy link
Contributor

Choose a reason for hiding this comment

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

Ternary is great, though we put the colons at the beginning of the next line when the ternary has to be bbroken up. I don't know why Michael wants you to write the else that way; it's not a practice we've strictly adhered to in the standard library.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks! I've amended and force pushed. This fixes the indentation. I went with ternary formatted the way Dave suggested.

@gottesmm
Copy link
Contributor

gottesmm commented May 8, 2017

The nits were nits. I don't care that much about them. I think it makes the code easier to read. But lets get this in.

@palimondo
Copy link
Contributor Author

Do I need to do something else to get this in? I thought it's smoke benchmark and merge time…

@palimondo
Copy link
Contributor Author

🚬🏋️✔️❓🔀

@gottesmm
Copy link
Contributor

@palimondo It makes sure that it builds correctly. That is all.

@gottesmm
Copy link
Contributor

@swift-ci smoke benchmark

1 similar comment
@gottesmm
Copy link
Contributor

@swift-ci smoke benchmark

@gottesmm
Copy link
Contributor

@palimondo Also due to force pushing, the initial smoke test didn't happen. So I am going to do the smoke benchmark and then a smoke test and merge

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (11)
TEST OLD NEW DELTA SPEEDUP
ArrayInClass 62 72 +16.1% 0.86x (?)
PopFrontArrayGeneric 1066 1213 +13.8% 0.88x
PopFrontArray 1071 1214 +13.4% 0.88x
ProtocolDispatch 2424 2727 +12.5% 0.89x
SuffixCountableRange 10 11 +10.0% 0.91x
MapReduce 304 330 +8.6% 0.92x
PopFrontUnsafePointer 8839 9537 +7.9% 0.93x
ClassArrayGetter 13 14 +7.7% 0.93x
IterateData 706 759 +7.5% 0.93x
NSDictionaryCastToSwift 5301 5635 +6.3% 0.94x
SetExclusiveOr 2910 3086 +6.0% 0.94x (?)
Improvement (7)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubNSDateMutationRef 12748 10991 -13.8% 1.16x (?)
OpenClose 54 48 -11.1% 1.12x
ObjectiveCBridgeStubNSDateRefAccess 345 318 -7.8% 1.08x
Chars 1925 1786 -7.2% 1.08x
DictionarySwap 400 375 -6.2% 1.07x
Histogram 264 248 -6.1% 1.06x
PrefixSequence 2656 2524 -5.0% 1.05x
No Changes (251)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2928 2907 -0.7% 1.01x
AnyHashableWithAClass 66284 67194 +1.4% 0.99x
Array2D 1997 2084 +4.4% 0.96x (?)
ArrayAppend 772 772 +0.0% 1.00x
ArrayAppendArrayOfInt 597 597 +0.0% 1.00x
ArrayAppendAscii 22107 22634 +2.4% 0.98x
ArrayAppendFromGeneric 597 597 +0.0% 1.00x
ArrayAppendGenericStructs 1227 1230 +0.2% 1.00x (?)
ArrayAppendLatin1 43250 42730 -1.2% 1.01x
ArrayAppendLazyMap 949 939 -1.1% 1.01x (?)
ArrayAppendOptionals 1223 1217 -0.5% 1.00x (?)
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
ArrayAppendReserved 534 532 -0.4% 1.00x
ArrayAppendSequence 943 944 +0.1% 1.00x (?)
ArrayAppendStrings 13703 13660 -0.3% 1.00x (?)
ArrayAppendToFromGeneric 596 597 +0.2% 1.00x
ArrayAppendToGeneric 596 597 +0.2% 1.00x
ArrayAppendUTF16 40660 40953 +0.7% 0.99x
ArrayLiteral 1227 1231 +0.3% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 3997 4021 +0.6% 0.99x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3910 3899 -0.3% 1.00x
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4668 4640 -0.6% 1.01x (?)
ArrayPlusEqualSingleElementCollection 771 770 -0.1% 1.00x
ArrayPlusEqualThreeElements 1613 1587 -1.6% 1.02x
ArraySubscript 1462 1470 +0.5% 0.99x (?)
ArrayValueProp 6 6 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
BitCount 9 9 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 5008 5050 +0.8% 0.99x
CStringLongNonAscii 2132 2138 +0.3% 1.00x
CStringShortAscii 5252 5312 +1.1% 0.99x
Calculator 31 30 -3.2% 1.03x
CaptureProp 4600 4474 -2.7% 1.03x
CharacterLiteralsLarge 8651 8608 -0.5% 1.00x
CharacterLiteralsSmall 310 312 +0.6% 0.99x
DeadArray 184 182 -1.1% 1.01x
Dictionary 575 569 -1.0% 1.01x
Dictionary2 1803 1802 -0.1% 1.00x (?)
Dictionary2OfObjects 3315 3337 +0.7% 0.99x (?)
Dictionary3 453 454 +0.2% 1.00x (?)
Dictionary3OfObjects 898 901 +0.3% 1.00x (?)
DictionaryBridge 2661 2623 -1.4% 1.01x (?)
DictionaryLiteral 1498 1496 -0.1% 1.00x (?)
DictionaryOfObjects 2328 2334 +0.3% 1.00x (?)
DictionaryRemove 3442 3340 -3.0% 1.03x
DictionaryRemoveOfObjects 23604 23535 -0.3% 1.00x (?)
DictionarySwapOfObjects 7019 7047 +0.4% 1.00x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 45107 45072 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 27694 27368 -1.2% 1.01x
DropFirstAnySeqCRangeIterLazy 27851 27353 -1.8% 1.02x
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 6799 6776 -0.3% 1.00x
DropFirstAnySequenceLazy 6830 6768 -0.9% 1.01x
DropFirstArray 25 24 -4.0% 1.04x
DropFirstArrayLazy 24 25 +4.2% 0.96x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 3065 3065 +0.0% 1.00x
DropFirstSequenceLazy 3028 3029 +0.0% 1.00x
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15065 15067 +0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4605 4604 -0.0% 1.00x
DropLastAnySeqCRangeIterLazy 4603 4603 +0.0% 1.00x
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6871 6791 -1.2% 1.01x
DropLastAnySequenceLazy 6527 6519 -0.1% 1.00x
DropLastArray 8 8 +0.0% 1.00x
DropLastArrayLazy 8 8 +0.0% 1.00x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 547 566 +3.5% 0.97x
DropLastSequenceLazy 548 566 +3.3% 0.97x
DropWhileAnyCollection 70 70 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22325 21988 -1.5% 1.02x
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 7600 7601 +0.0% 1.00x
DropWhileAnySequenceLazy 2032 2032 +0.0% 1.00x
DropWhileArray 37 37 +0.0% 1.00x
DropWhileArrayLazy 78 78 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequence 3124 3045 -2.5% 1.03x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
ErrorHandling 2865 2928 +2.2% 0.98x
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3268 3295 +0.8% 0.99x
HashQuadratic 6323474 6026144 -4.7% 1.05x
HashTest 1697 1690 -0.4% 1.00x (?)
Integrate 272 268 -1.5% 1.01x
Join 445 440 -1.1% 1.01x
LazilyFilteredArrays 63873 63964 +0.1% 1.00x (?)
LazilyFilteredRange 3891 3894 +0.1% 1.00x (?)
LinkedList 7059 7140 +1.1% 0.99x
MapReduceAnyCollection 304 303 -0.3% 1.00x
MapReduceAnyCollectionShort 1998 1998 +0.0% 1.00x
MapReduceClass 3063 3055 -0.3% 1.00x
MapReduceClassShort 4526 4621 +2.1% 0.98x
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 44 45 +2.3% 0.98x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 447 451 +0.9% 0.99x (?)
MapReduceShort 1907 1906 -0.1% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 109 109 +0.0% 1.00x
Memset 234 235 +0.4% 1.00x
MonteCarloE 10361 10369 +0.1% 1.00x (?)
MonteCarloPi 43998 44052 +0.1% 1.00x
NSError 292 292 +0.0% 1.00x
NSStringConversion 760 742 -2.4% 1.02x
NopDeinit 27462 27436 -0.1% 1.00x
ObjectAllocation 189 180 -4.8% 1.05x
ObjectiveCBridgeFromNSArrayAnyObject 23418 23989 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4482 4498 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43795 44393 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38403 37977 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 116903 117927 +0.9% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5130 5088 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 96919 99238 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 92275 94401 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 64559 64536 -0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4140 4185 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72090 70988 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62174 62809 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSString 1435 1434 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2371 2364 -0.3% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3762 3781 +0.5% 0.99x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29107 29131 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 3553 3612 +1.7% 0.98x
ObjectiveCBridgeStubFromNSDateRef 3611 3523 -2.4% 1.02x
ObjectiveCBridgeStubFromNSString 935 926 -1.0% 1.01x
ObjectiveCBridgeStubFromNSStringRef 174 180 +3.4% 0.97x
ObjectiveCBridgeStubNSDataAppend 2339 2240 -4.2% 1.04x
ObjectiveCBridgeStubToArrayOfNSString 29245 28894 -1.2% 1.01x (?)
ObjectiveCBridgeStubToNSDate 14827 15101 +1.8% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3406 3417 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 1517 1513 -0.3% 1.00x
ObjectiveCBridgeStubToNSStringRef 108 110 +1.9% 0.98x
ObjectiveCBridgeStubURLAppendPath 224235 218987 -2.3% 1.02x
ObjectiveCBridgeStubURLAppendPathRef 218321 219051 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 29542 29442 -0.3% 1.00x (?)
ObjectiveCBridgeToNSDictionary 45562 44937 -1.4% 1.01x
ObjectiveCBridgeToNSSet 39374 39819 +1.1% 0.99x (?)
ObjectiveCBridgeToNSString 1272 1269 -0.2% 1.00x (?)
ObserverClosure 2283 2268 -0.7% 1.01x
ObserverForwarderStruct 1108 1104 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3804 3781 -0.6% 1.01x (?)
ObserverUnappliedMethod 2705 2617 -3.3% 1.03x
Phonebook 7895 7861 -0.4% 1.00x
PolymorphicCalls 21 22 +4.8% 0.95x
PrefixAnyCollection 57 56 -1.8% 1.02x
PrefixAnyCollectionLazy 45568 45079 -1.1% 1.01x
PrefixAnySeqCRangeIter 21899 21722 -0.8% 1.01x
PrefixAnySeqCRangeIterLazy 22021 21792 -1.0% 1.01x
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 6090 6103 +0.2% 1.00x
PrefixAnySequenceLazy 6145 6097 -0.8% 1.01x
PrefixArray 25 25 +0.0% 1.00x
PrefixArrayLazy 24 25 +4.2% 0.96x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequenceLazy 2617 2617 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12501 12497 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCntRange 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 75 75 +0.0% 1.00x
PrefixWhileAnySequence 14002 14007 +0.0% 1.00x (?)
PrefixWhileAnySequenceLazy 1492 1492 +0.0% 1.00x
PrefixWhileArray 62 62 +0.0% 1.00x
PrefixWhileArrayLazy 49 49 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 32 32 +0.0% 1.00x
PrefixWhileSequence 313 314 +0.3% 1.00x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 787 757 -3.8% 1.04x
ProtocolDispatch2 161 160 -0.6% 1.01x
RC4 159 160 +0.6% 0.99x
RGBHistogram 2308 2281 -1.2% 1.01x
RGBHistogramOfObjects 24484 24440 -0.2% 1.00x (?)
RangeAssignment 302 299 -1.0% 1.01x
RecursiveOwnedParameter 2328 2323 -0.2% 1.00x
ReversedArray 52 52 +0.0% 1.00x
ReversedBidirectional 30431 29108 -4.3% 1.05x
ReversedDictionary 108 109 +0.9% 0.99x (?)
SetExclusiveOr_OfObjects 9703 9642 -0.6% 1.01x (?)
SetIntersect 283 271 -4.2% 1.04x
SetIntersect_OfObjects 1730 1723 -0.4% 1.00x (?)
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2645 2682 +1.4% 0.99x
SetUnion_OfObjects 8166 8155 -0.1% 1.00x (?)
SevenBoom 1476 1479 +0.2% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8043 8031 -0.1% 1.00x
SortLettersInPlace 1149 1157 +0.7% 0.99x
SortSortedStrings 819 832 +1.6% 0.98x
SortStrings 1631 1628 -0.2% 1.00x
SortStringsUnicode 7743 7520 -2.9% 1.03x
StackPromo 22064 22044 -0.1% 1.00x
StaticArray 21 21 +0.0% 1.00x
StrComplexWalk 719 720 +0.1% 1.00x
StrToInt 4191 4229 +0.9% 0.99x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1315 1314 -0.1% 1.00x (?)
StringBuilderLong 907 925 +2.0% 0.98x (?)
StringEdits 201619 201250 -0.2% 1.00x
StringEqualPointerComparison 7371 7390 +0.3% 1.00x (?)
StringHasPrefix 16 16 +0.0% 1.00x
StringHasPrefixUnicode 14465 14412 -0.4% 1.00x
StringHasSuffix 33 33 +0.0% 1.00x
StringHasSuffixUnicode 61762 61504 -0.4% 1.00x
StringInterpolation 8232 8365 +1.6% 0.98x
StringMatch 8978 9087 +1.2% 0.99x
StringUTF16Builder 2083 2074 -0.4% 1.00x (?)
StringWalk 6441 6442 +0.0% 1.00x (?)
StringWithCString 127728 128235 +0.4% 1.00x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 15003 14971 -0.2% 1.00x
SuffixAnySeqCRangeIter 4928 4928 +0.0% 1.00x
SuffixAnySeqCRangeIterLazy 4930 4929 -0.0% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6632 6651 +0.3% 1.00x (?)
SuffixAnySequenceLazy 6537 6538 +0.0% 1.00x (?)
SuffixArray 8 8 +0.0% 1.00x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4497 4521 +0.5% 0.99x
SuffixSequenceLazy 4500 4470 -0.7% 1.01x
SuperChars 296731 297008 +0.1% 1.00x (?)
TwoSum 875 871 -0.5% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 260 253 -2.7% 1.03x
Walsh 356 350 -1.7% 1.02x
XorLoop 347 347 +0.0% 1.00x
Added (113)
TEST MIN MAX MEAN MAX_RSS
Ackermann 15676 15680 15677 9317035
ExistentialTestArrayConditionalShift_ClassValueBuffer1 60870 60876 60873 9270613
ExistentialTestArrayConditionalShift_ClassValueBuffer2 90671 90874 90788 9276075
ExistentialTestArrayConditionalShift_ClassValueBuffer3 118717 118779 118742 9285632
ExistentialTestArrayConditionalShift_ClassValueBuffer4 61595 61637 61622 9285632
ExistentialTestArrayConditionalShift_IntValueBuffer0 30682 30705 30695 9259691
ExistentialTestArrayConditionalShift_IntValueBuffer1 30930 30957 30947 9271979
ExistentialTestArrayConditionalShift_IntValueBuffer2 31561 31570 31565 9266517
ExistentialTestArrayConditionalShift_IntValueBuffer3 32438 32464 32449 9269248
ExistentialTestArrayConditionalShift_IntValueBuffer4 60494 60665 60557 9289728
ExistentialTestArrayMutating_ClassValueBuffer1 14199 14199 14199 9270613
ExistentialTestArrayMutating_ClassValueBuffer2 14192 14209 14201 9270613
ExistentialTestArrayMutating_ClassValueBuffer3 14198 14203 14200 9274709
ExistentialTestArrayMutating_ClassValueBuffer4 16901 16904 16903 9273344
ExistentialTestArrayMutating_IntValueBuffer0 14569 14573 14570 9262421
ExistentialTestArrayMutating_IntValueBuffer1 14753 14757 14755 9263787
ExistentialTestArrayMutating_IntValueBuffer2 14187 14191 14188 9266517
ExistentialTestArrayMutating_IntValueBuffer3 15723 15729 15727 9266517
ExistentialTestArrayMutating_IntValueBuffer4 18272 18273 18273 9288363
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 15811 15816 15813 9277440
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 25345 25358 25352 9267883
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 35432 35448 35441 9274709
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 14510 14524 14515 9285632
ExistentialTestArrayOneMethodCall_IntValueBuffer0 5339 5342 5340 9270613
ExistentialTestArrayOneMethodCall_IntValueBuffer1 5376 5381 5378 9263787
ExistentialTestArrayOneMethodCall_IntValueBuffer2 5769 5781 5774 9266517
ExistentialTestArrayOneMethodCall_IntValueBuffer3 6577 6578 6577 9273344
ExistentialTestArrayOneMethodCall_IntValueBuffer4 14211 14217 14213 9281536
ExistentialTestArrayShift_ClassValueBuffer1 3310 3318 3314 9263787
ExistentialTestArrayShift_ClassValueBuffer2 3883 3892 3886 9263787
ExistentialTestArrayShift_ClassValueBuffer3 3736 3750 3742 9266517
ExistentialTestArrayShift_ClassValueBuffer4 3313 3314 3314 9265152
ExistentialTestArrayShift_IntValueBuffer0 3308 3311 3310 9262421
ExistentialTestArrayShift_IntValueBuffer1 3309 3311 3310 9258325
ExistentialTestArrayShift_IntValueBuffer2 3882 3884 3883 9269248
ExistentialTestArrayShift_IntValueBuffer3 3725 3726 3726 9255595
ExistentialTestArrayShift_IntValueBuffer4 3312 3314 3313 9273344
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 16212 16221 16215 9274709
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 26512 26518 26514 9266517
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 36524 36545 36533 9273344
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 16078 16125 16096 9277440
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 6908 6911 6910 9270613
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 7457 7483 7474 9261056
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 7767 7774 7771 9266517
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 7657 7665 7660 9267883
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 15785 15790 15788 9273344
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 121239 121275 121260 9241941
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 203099 203229 203155 9236480
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 280372 281204 280718 9247403
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 142458 142530 142503 9243307
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 42446 42450 42448 9252864
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 43948 43964 43954 9236480
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 46979 47002 46992 9248768
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 48632 48789 48708 9240576
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 156091 156126 156104 9239211
ExistentialTestMutating_ClassValueBuffer1 18245 18451 18364 9250133
ExistentialTestMutating_ClassValueBuffer2 18288 18330 18307 9244672
ExistentialTestMutating_ClassValueBuffer3 18395 18466 18421 9250133
ExistentialTestMutating_ClassValueBuffer4 40562 40743 40677 9235115
ExistentialTestMutating_IntValueBuffer0 14917 14944 14929 9248768
ExistentialTestMutating_IntValueBuffer1 16640 16645 16642 9240576
ExistentialTestMutating_IntValueBuffer2 18416 18433 18427 9248768
ExistentialTestMutating_IntValueBuffer3 21297 21332 21312 9236480
ExistentialTestMutating_IntValueBuffer4 51255 51290 51268 9236480
ExistentialTestOneMethodCall_ClassValueBuffer1 13908 14377 14121 9241941
ExistentialTestOneMethodCall_ClassValueBuffer2 15154 15160 15157 9246037
ExistentialTestOneMethodCall_ClassValueBuffer3 13756 14658 14299 9243307
ExistentialTestOneMethodCall_ClassValueBuffer4 18185 18220 18202 9241941
ExistentialTestOneMethodCall_IntValueBuffer0 13670 13738 13697 9244672
ExistentialTestOneMethodCall_IntValueBuffer1 14528 16461 15173 9228288
ExistentialTestOneMethodCall_IntValueBuffer2 14287 14500 14359 9228288
ExistentialTestOneMethodCall_IntValueBuffer3 13639 13916 13799 9236480
ExistentialTestOneMethodCall_IntValueBuffer4 16757 16979 16877 9240576
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 225183 225209 225198 9243307
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 365739 365826 365773 9250133
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 531505 531934 531781 9237845
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 216706 216720 216715 9252864
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 69579 70032 69773 9240576
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 69724 69743 69732 9244672
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 72717 72749 72728 9240576
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 69739 69785 69758 9236480
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 224344 224373 224354 9240576
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 252713 254960 254192 9243307
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 374468 375271 374795 9240576
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 546627 547225 546891 9237845
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 243989 244127 244052 9252864
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 96632 96754 96674 9232384
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 92255 92798 92486 9244672
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 98447 98497 98471 9236480
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 95476 95563 95511 9236480
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 251620 251814 251687 9247403
ExistentialTestTwoMethodCalls_ClassValueBuffer1 27281 27297 27287 9244672
ExistentialTestTwoMethodCalls_ClassValueBuffer2 28794 28798 28796 9237845
ExistentialTestTwoMethodCalls_ClassValueBuffer3 27278 27284 27282 9248768
ExistentialTestTwoMethodCalls_ClassValueBuffer4 39946 40441 40189 9232384
ExistentialTestTwoMethodCalls_IntValueBuffer0 28309 28469 28377 9239211
ExistentialTestTwoMethodCalls_IntValueBuffer1 25763 25768 25765 9224192
ExistentialTestTwoMethodCalls_IntValueBuffer2 27278 27289 27282 9228288
ExistentialTestTwoMethodCalls_IntValueBuffer3 27280 27290 27283 9232384
ExistentialTestTwoMethodCalls_IntValueBuffer4 36120 36226 36183 9244672
Fibonacci 13126 13127 13126 9224192
StringWalkASCIICharacters 12900 12927 12913 9232384
StringWalkASCIICharactersBackwards 17379 17479 17444 9228288
StringWalkASCIIScalars 6440 6442 6441 9228288
StringWalkASCIIScalarsBackwards 57108 57184 57139 9232384
StringWalkMixedCharacters 30334 30384 30361 9248768
StringWalkMixedCharactersBackwards 43245 43306 43279 9248768
StringWalkMixedScalars 14652 14654 14653 9224192
StringWalkMixedScalarsBackwards 112307 113251 112892 9220096
StringWalkUnicodeCharacters 60142 60186 60157 9269248
StringWalkUnicodeCharactersBackwards 131360 131407 131378 9271979
StringWalkUnicodeScalars 5762 5825 5783 9274709
StringWalkUnicodeScalarsBackwards 95982 96021 96003 9269248
**Unoptimized (Onone)**
Regression (2)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSStringRef 206 219 +6.3% 0.94x
PrefixWhileArray 16918 17898 +5.8% 0.95x
Improvement (6)
TEST OLD NEW DELTA SPEEDUP
TypeFlood 185 166 -10.3% 1.11x
PrefixWhileAnySeqCRangeIterLazy 23889 22304 -6.6% 1.07x
PrefixWhileAnySeqCntRangeLazy 23858 22290 -6.6% 1.07x
PrefixWhileAnyCollectionLazy 23859 22484 -5.8% 1.06x
StringWalk 22620 21361 -5.6% 1.06x
StringHasSuffix 1899 1802 -5.1% 1.05x
No Changes (261)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3119 3124 +0.2% 1.00x
AnyHashableWithAClass 83394 83913 +0.6% 0.99x
Array2D 608144 605180 -0.5% 1.00x
ArrayAppend 3792 3791 -0.0% 1.00x (?)
ArrayAppendArrayOfInt 651 653 +0.3% 1.00x
ArrayAppendAscii 61365 61024 -0.6% 1.01x
ArrayAppendFromGeneric 653 658 +0.8% 0.99x
ArrayAppendGenericStructs 1302 1311 +0.7% 0.99x (?)
ArrayAppendLatin1 82902 83022 +0.1% 1.00x (?)
ArrayAppendLazyMap 209475 209094 -0.2% 1.00x
ArrayAppendOptionals 1298 1298 +0.0% 1.00x
ArrayAppendRepeatCol 210184 214770 +2.2% 0.98x
ArrayAppendReserved 3540 3541 +0.0% 1.00x (?)
ArrayAppendSequence 73381 74575 +1.6% 0.98x
ArrayAppendStrings 13775 13607 -1.2% 1.01x (?)
ArrayAppendToFromGeneric 654 656 +0.3% 1.00x
ArrayAppendToGeneric 654 657 +0.5% 1.00x
ArrayAppendUTF16 81002 82908 +2.4% 0.98x
ArrayInClass 4734 4736 +0.0% 1.00x (?)
ArrayLiteral 1485 1483 -0.1% 1.00x
ArrayOfGenericPOD 3076 3077 +0.0% 1.00x
ArrayOfGenericRef 9629 9633 +0.0% 1.00x (?)
ArrayOfPOD 1893 1892 -0.1% 1.00x
ArrayOfRef 8873 8768 -1.2% 1.01x
ArrayPlusEqualArrayOfInt 652 653 +0.2% 1.00x
ArrayPlusEqualFiveElementCollection 284644 286305 +0.6% 0.99x (?)
ArrayPlusEqualSingleElementCollection 279751 280223 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 10109 10144 +0.3% 1.00x (?)
ArraySubscript 4142 4164 +0.5% 0.99x
ArrayValueProp 3038 3027 -0.4% 1.00x
ArrayValueProp2 3675 3652 -0.6% 1.01x
ArrayValueProp3 3438 3439 +0.0% 1.00x (?)
ArrayValueProp4 3330 3319 -0.3% 1.00x (?)
BitCount 874 884 +1.1% 0.99x (?)
ByteSwap 273 266 -2.6% 1.03x
CStringLongAscii 5522 5584 +1.1% 0.99x
CStringLongNonAscii 2501 2445 -2.2% 1.02x
CStringShortAscii 8293 8272 -0.3% 1.00x (?)
Calculator 1148 1117 -2.7% 1.03x
CaptureProp 110697 107718 -2.7% 1.03x
CharacterLiteralsLarge 9975 10025 +0.5% 1.00x (?)
CharacterLiteralsSmall 1002 1002 +0.0% 1.00x
Chars 7484 7529 +0.6% 0.99x (?)
ClassArrayGetter 930 930 +0.0% 1.00x
DeadArray 117137 119794 +2.3% 0.98x (?)
Dictionary 1685 1670 -0.9% 1.01x (?)
Dictionary2 3503 3496 -0.2% 1.00x (?)
Dictionary2OfObjects 5780 5822 +0.7% 0.99x (?)
Dictionary3 1310 1343 +2.5% 0.98x
Dictionary3OfObjects 2206 2203 -0.1% 1.00x (?)
DictionaryBridge 2757 2710 -1.7% 1.02x (?)
DictionaryLiteral 8210 8241 +0.4% 1.00x
DictionaryOfObjects 4558 4591 +0.7% 0.99x (?)
DictionaryRemove 21463 20988 -2.2% 1.02x
DictionaryRemoveOfObjects 54920 55197 +0.5% 0.99x (?)
DictionarySwap 5500 5407 -1.7% 1.02x
DictionarySwapOfObjects 19895 19911 +0.1% 1.00x (?)
DropFirstAnyCollection 19637 19351 -1.5% 1.01x
DropFirstAnyCollectionLazy 136151 137180 +0.8% 0.99x (?)
DropFirstAnySeqCRangeIter 30290 30124 -0.5% 1.01x (?)
DropFirstAnySeqCRangeIterLazy 30646 29752 -2.9% 1.03x
DropFirstAnySeqCntRange 19621 19174 -2.3% 1.02x
DropFirstAnySeqCntRangeLazy 19516 19118 -2.0% 1.02x
DropFirstAnySequence 14059 14022 -0.3% 1.00x
DropFirstAnySequenceLazy 14015 14039 +0.2% 1.00x
DropFirstArray 6292 6181 -1.8% 1.02x
DropFirstArrayLazy 45086 44265 -1.8% 1.02x
DropFirstCountableRange 340 340 +0.0% 1.00x
DropFirstCountableRangeLazy 38604 37651 -2.5% 1.03x
DropFirstSequence 12901 12962 +0.5% 1.00x
DropFirstSequenceLazy 12853 12964 +0.9% 0.99x
DropLastAnyCollection 6567 6475 -1.4% 1.01x
DropLastAnyCollectionLazy 46296 45814 -1.0% 1.01x
DropLastAnySeqCRangeIter 43731 44138 +0.9% 0.99x (?)
DropLastAnySeqCRangeIterLazy 43917 44402 +1.1% 0.99x
DropLastAnySeqCntRange 6598 6391 -3.1% 1.03x
DropLastAnySeqCntRangeLazy 6528 6353 -2.7% 1.03x
DropLastAnySequence 29142 29429 +1.0% 0.99x
DropLastAnySequenceLazy 29034 29142 +0.4% 1.00x
DropLastArray 2105 2068 -1.8% 1.02x
DropLastArrayLazy 14978 14950 -0.2% 1.00x (?)
DropLastCountableRange 117 118 +0.9% 0.99x
DropLastCountableRangeLazy 12836 12592 -1.9% 1.02x
DropLastSequence 28594 28620 +0.1% 1.00x
DropLastSequenceLazy 28583 28701 +0.4% 1.00x
DropWhileAnyCollection 25142 25312 +0.7% 0.99x
DropWhileAnyCollectionLazy 28270 27164 -3.9% 1.04x
DropWhileAnySeqCRangeIter 32495 31666 -2.6% 1.03x
DropWhileAnySeqCRangeIterLazy 27687 27041 -2.3% 1.02x
DropWhileAnySeqCntRange 25247 24737 -2.0% 1.02x
DropWhileAnySeqCntRangeLazy 28140 27062 -3.8% 1.04x
DropWhileAnySequence 16107 16162 +0.3% 1.00x
DropWhileAnySequenceLazy 12437 12428 -0.1% 1.00x
DropWhileArray 9876 10254 +3.8% 0.96x
DropWhileArrayLazy 17025 17241 +1.3% 0.99x
DropWhileCountableRange 6159 6109 -0.8% 1.01x
DropWhileCountableRangeLazy 26515 26271 -0.9% 1.01x (?)
DropWhileSequence 15018 15072 +0.4% 1.00x
DropWhileSequenceLazy 11189 11206 +0.2% 1.00x
ErrorHandling 3807 3946 +3.7% 0.96x
GlobalClass 0 0 +0.0% 1.00x
Hanoi 17354 17418 +0.4% 1.00x
HashQuadratic 50179408 47888759 -4.6% 1.05x
HashTest 18499 18460 -0.2% 1.00x (?)
Histogram 8897 8868 -0.3% 1.00x (?)
Integrate 395 395 +0.0% 1.00x
IterateData 12411 12794 +3.1% 0.97x
Join 1265 1275 +0.8% 0.99x (?)
LazilyFilteredArrays 1675752 1699072 +1.4% 0.99x
LazilyFilteredRange 686830 674756 -1.8% 1.02x
LinkedList 33175 32921 -0.8% 1.01x
MapReduce 37759 38179 +1.1% 0.99x
MapReduceAnyCollection 37590 37668 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 50355 50138 -0.4% 1.00x (?)
MapReduceClass 42977 43212 +0.5% 0.99x
MapReduceClassShort 54271 54761 +0.9% 0.99x (?)
MapReduceLazyCollection 32670 32815 +0.4% 1.00x (?)
MapReduceLazyCollectionShort 43927 44128 +0.5% 1.00x (?)
MapReduceLazySequence 26296 25445 -3.2% 1.03x
MapReduceSequence 40796 40940 +0.4% 1.00x
MapReduceShort 50125 50304 +0.4% 1.00x (?)
MapReduceShortString 279 276 -1.1% 1.01x (?)
MapReduceString 2600 2588 -0.5% 1.00x (?)
Memset 44002 43979 -0.1% 1.00x
MonteCarloE 134584 134397 -0.1% 1.00x (?)
MonteCarloPi 52517 52366 -0.3% 1.00x
NSDictionaryCastToSwift 6382 6489 +1.7% 0.98x (?)
NSError 702 706 +0.6% 0.99x (?)
NSStringConversion 1299 1329 +2.3% 0.98x
NopDeinit 50318 51875 +3.1% 0.97x
ObjectAllocation 633 628 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25626 25271 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8018 7799 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44706 45582 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38783 39114 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121658 122160 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7678 7861 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 101560 105033 +3.4% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 92301 94548 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 68661 68092 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7050 6941 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76477 77872 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66466 66887 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSString 4072 4037 -0.9% 1.01x
ObjectiveCBridgeFromNSStringForced 2740 2743 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3770 3740 -0.8% 1.01x (?)
ObjectiveCBridgeStubDateAccess 1029 1005 -2.3% 1.02x
ObjectiveCBridgeStubDateMutation 517 516 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 28939 28791 -0.5% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 3887 4038 +3.9% 0.96x
ObjectiveCBridgeStubFromNSDateRef 4147 4006 -3.4% 1.04x
ObjectiveCBridgeStubFromNSString 973 972 -0.1% 1.00x (?)
ObjectiveCBridgeStubNSDataAppend 2690 2743 +2.0% 0.98x
ObjectiveCBridgeStubNSDateMutationRef 15475 15020 -2.9% 1.03x (?)
ObjectiveCBridgeStubNSDateRefAccess 1240 1207 -2.7% 1.03x
ObjectiveCBridgeStubToArrayOfNSString 29153 29110 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15683 15609 -0.5% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3436 3386 -1.5% 1.01x
ObjectiveCBridgeStubToNSString 1561 1563 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 225683 217389 -3.7% 1.04x (?)
ObjectiveCBridgeStubURLAppendPathRef 223447 216767 -3.0% 1.03x (?)
ObjectiveCBridgeToNSArray 29274 29210 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 46388 46985 +1.3% 0.99x (?)
ObjectiveCBridgeToNSSet 39776 40396 +1.6% 0.98x
ObjectiveCBridgeToNSString 1319 1311 -0.6% 1.01x (?)
ObserverClosure 6664 6637 -0.4% 1.00x (?)
ObserverForwarderStruct 4673 4701 +0.6% 0.99x
ObserverPartiallyAppliedMethod 8086 8090 +0.0% 1.00x (?)
ObserverUnappliedMethod 8420 8427 +0.1% 1.00x (?)
OpenClose 395 394 -0.3% 1.00x
Phonebook 24456 24044 -1.7% 1.02x
PolymorphicCalls 3000 2906 -3.1% 1.03x
PopFrontArray 7439 7553 +1.5% 0.98x
PopFrontArrayGeneric 6394 6560 +2.6% 0.97x
PopFrontUnsafePointer 97493 97179 -0.3% 1.00x
PrefixAnyCollection 19637 19386 -1.3% 1.01x
PrefixAnyCollectionLazy 139792 138532 -0.9% 1.01x
PrefixAnySeqCRangeIter 24448 23993 -1.9% 1.02x
PrefixAnySeqCRangeIterLazy 24494 24088 -1.7% 1.02x
PrefixAnySeqCntRange 19557 19201 -1.8% 1.02x
PrefixAnySeqCntRangeLazy 19507 19102 -2.1% 1.02x (?)
PrefixAnySequence 11817 11777 -0.3% 1.00x
PrefixAnySequenceLazy 11764 11736 -0.2% 1.00x
PrefixArray 6298 6185 -1.8% 1.02x
PrefixArrayLazy 45084 44242 -1.9% 1.02x
PrefixCountableRange 339 340 +0.3% 1.00x
PrefixCountableRangeLazy 38556 37643 -2.4% 1.02x
PrefixSequence 10756 10720 -0.3% 1.00x
PrefixSequenceLazy 10707 10759 +0.5% 1.00x
PrefixWhileAnyCollection 36655 36937 +0.8% 0.99x (?)
PrefixWhileAnySeqCRangeIter 40735 40482 -0.6% 1.01x (?)
PrefixWhileAnySeqCntRange 36740 36348 -1.1% 1.01x
PrefixWhileAnySequence 29547 29961 +1.4% 0.99x
PrefixWhileAnySequenceLazy 11404 11245 -1.4% 1.01x
PrefixWhileArrayLazy 14778 15390 +4.1% 0.96x
PrefixWhileCountableRange 17675 17622 -0.3% 1.00x
PrefixWhileCountableRangeLazy 22650 21753 -4.0% 1.04x
PrefixWhileSequence 28423 28427 +0.0% 1.00x (?)
PrefixWhileSequenceLazy 10458 10445 -0.1% 1.00x (?)
Prims 8948 9034 +1.0% 0.99x
ProtocolDispatch 6945 6971 +0.4% 1.00x
ProtocolDispatch2 491 491 +0.0% 1.00x
RC4 19645 19453 -1.0% 1.01x (?)
RGBHistogram 33854 33790 -0.2% 1.00x (?)
RGBHistogramOfObjects 99071 99290 +0.2% 1.00x
RangeAssignment 5728 5677 -0.9% 1.01x
RecursiveOwnedParameter 9579 9662 +0.9% 0.99x
ReversedArray 592 588 -0.7% 1.01x
ReversedBidirectional 74832 73870 -1.3% 1.01x (?)
ReversedDictionary 26518 26520 +0.0% 1.00x (?)
SetExclusiveOr 21200 21111 -0.4% 1.00x
SetExclusiveOr_OfObjects 41338 41314 -0.1% 1.00x
SetIntersect 10546 10673 +1.2% 0.99x
SetIntersect_OfObjects 11298 11255 -0.4% 1.00x (?)
SetIsSubsetOf 1631 1648 +1.0% 0.99x
SetIsSubsetOf_OfObjects 1535 1519 -1.0% 1.01x
SetUnion 12160 12057 -0.8% 1.01x
SetUnion_OfObjects 29734 29886 +0.5% 0.99x (?)
SevenBoom 1603 1608 +0.3% 1.00x (?)
Sim2DArray 30042 30053 +0.0% 1.00x (?)
SortLargeExistentials 17685 17548 -0.8% 1.01x
SortLettersInPlace 2861 2834 -0.9% 1.01x
SortSortedStrings 1404 1404 +0.0% 1.00x
SortStrings 2445 2454 +0.4% 1.00x
SortStringsUnicode 8983 8818 -1.8% 1.02x
StackPromo 103031 100494 -2.5% 1.03x
StaticArray 4583 4642 +1.3% 0.99x
StrComplexWalk 6861 6875 +0.2% 1.00x (?)
StrToInt 5176 5145 -0.6% 1.01x
StringAdder 45 46 +2.2% 0.98x
StringBuilder 2791 2767 -0.9% 1.01x
StringBuilderLong 1105 1084 -1.9% 1.02x (?)
StringEdits 496105 492003 -0.8% 1.01x (?)
StringEqualPointerComparison 9593 9506 -0.9% 1.01x
StringHasPrefix 1694 1770 +4.5% 0.96x
StringHasPrefixUnicode 16207 16273 +0.4% 1.00x
StringHasSuffixUnicode 64050 63163 -1.4% 1.01x
StringInterpolation 11886 12029 +1.2% 0.99x
StringMatch 31123 30940 -0.6% 1.01x
StringUTF16Builder 3608 3511 -2.7% 1.03x (?)
StringWithCString 139490 139584 +0.1% 1.00x (?)
SuffixAnyCollection 6564 6480 -1.3% 1.01x
SuffixAnyCollectionLazy 45604 45911 +0.7% 0.99x (?)
SuffixAnySeqCRangeIter 41897 41489 -1.0% 1.01x
SuffixAnySeqCRangeIterLazy 41423 41537 +0.3% 1.00x (?)
SuffixAnySeqCntRange 6541 6404 -2.1% 1.02x
SuffixAnySeqCntRangeLazy 6521 6348 -2.7% 1.03x
SuffixAnySequence 26860 26886 +0.1% 1.00x (?)
SuffixAnySequenceLazy 26812 26933 +0.5% 1.00x
SuffixArray 2102 2071 -1.5% 1.01x
SuffixArrayLazy 14974 14747 -1.5% 1.02x
SuffixCountableRange 118 118 +0.0% 1.00x
SuffixCountableRangeLazy 12844 12622 -1.7% 1.02x (?)
SuffixSequence 26435 26543 +0.4% 1.00x
SuffixSequenceLazy 26420 26399 -0.1% 1.00x
SuperChars 316148 316787 +0.2% 1.00x (?)
TwoSum 4322 4272 -1.2% 1.01x
UTF8Decode 36900 36869 -0.1% 1.00x
Walsh 11945 11964 +0.2% 1.00x (?)
XorLoop 23706 23708 +0.0% 1.00x (?)
Added (113)
TEST MIN MAX MEAN MAX_RSS
Ackermann 84429 84562 84483 9829035
ExistentialTestArrayConditionalShift_ClassValueBuffer1 349349 349506 349428 9527296
ExistentialTestArrayConditionalShift_ClassValueBuffer2 388067 389283 388857 9531392
ExistentialTestArrayConditionalShift_ClassValueBuffer3 430406 430498 430466 9525931
ExistentialTestArrayConditionalShift_ClassValueBuffer4 363033 363139 363100 9523200
ExistentialTestArrayConditionalShift_IntValueBuffer0 293697 293782 293734 9510912
ExistentialTestArrayConditionalShift_IntValueBuffer1 295136 295254 295210 9519104
ExistentialTestArrayConditionalShift_IntValueBuffer2 294408 294765 294570 9510912
ExistentialTestArrayConditionalShift_IntValueBuffer3 294970 295120 295061 9517739
ExistentialTestArrayConditionalShift_IntValueBuffer4 320286 320324 320311 9539584
ExistentialTestArrayMutating_ClassValueBuffer1 124155 124607 124371 9519104
ExistentialTestArrayMutating_ClassValueBuffer2 124235 124290 124267 9510912
ExistentialTestArrayMutating_ClassValueBuffer3 124301 124379 124335 9510912
ExistentialTestArrayMutating_ClassValueBuffer4 125993 126070 126037 9517739
ExistentialTestArrayMutating_IntValueBuffer0 102333 102350 102341 9502720
ExistentialTestArrayMutating_IntValueBuffer1 107540 107593 107566 9506816
ExistentialTestArrayMutating_IntValueBuffer2 112755 112826 112789 9498624
ExistentialTestArrayMutating_IntValueBuffer3 121335 121414 121364 9504085
ExistentialTestArrayMutating_IntValueBuffer4 132670 132887 132805 9506816
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 160121 161077 160517 9527296
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 179532 182075 180438 9523200
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 199071 199841 199536 9520469
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 176820 176931 176886 9519104
ExistentialTestArrayOneMethodCall_IntValueBuffer0 128504 128831 128658 9543680
ExistentialTestArrayOneMethodCall_IntValueBuffer1 129484 129552 129508 9527296
ExistentialTestArrayOneMethodCall_IntValueBuffer2 129521 129620 129571 9510912
ExistentialTestArrayOneMethodCall_IntValueBuffer3 129854 129934 129903 9510912
ExistentialTestArrayOneMethodCall_IntValueBuffer4 133763 133839 133806 9523200
ExistentialTestArrayShift_ClassValueBuffer1 181008 181630 181217 9515008
ExistentialTestArrayShift_ClassValueBuffer2 180917 181308 181063 9520469
ExistentialTestArrayShift_ClassValueBuffer3 181331 181503 181430 9510912
ExistentialTestArrayShift_ClassValueBuffer4 179295 179397 179337 9523200
ExistentialTestArrayShift_IntValueBuffer0 180484 180534 180508 9535488
ExistentialTestArrayShift_IntValueBuffer1 180946 181038 180983 9510912
ExistentialTestArrayShift_IntValueBuffer2 180885 181012 180965 9519104
ExistentialTestArrayShift_IntValueBuffer3 181343 182412 181737 9525931
ExistentialTestArrayShift_IntValueBuffer4 179309 179315 179312 9527296
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 203373 203548 203449 9527296
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 232080 232900 232355 9515008
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 262674 262858 262753 9531392
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 238364 238664 238537 9515008
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 132335 132621 132482 9539584
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 132863 132952 132910 9519104
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 132922 133016 132960 9519104
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 134054 134124 134086 9524565
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 141383 141625 141538 9515008
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 508077 508423 508203 9418069
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 647391 649280 648259 9418069
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 803701 807241 804968 9418069
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 686112 686546 686328 9418069
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 89426 90963 89954 9419435
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 144631 144654 144642 9411243
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 220854 220880 220869 9419435
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 293598 293628 293617 9411243
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 436471 437033 436834 9418069
ExistentialTestMutating_ClassValueBuffer1 226682 226800 226727 9426261
ExistentialTestMutating_ClassValueBuffer2 223735 224844 224441 9413973
ExistentialTestMutating_ClassValueBuffer3 226473 226588 226531 9419435
ExistentialTestMutating_ClassValueBuffer4 258439 260029 259401 9418069
ExistentialTestMutating_IntValueBuffer0 42432 42464 42444 9411243
ExistentialTestMutating_IntValueBuffer1 99540 99581 99564 9416704
ExistentialTestMutating_IntValueBuffer2 168533 168580 168553 9416704
ExistentialTestMutating_IntValueBuffer3 236454 236574 236496 9405781
ExistentialTestMutating_IntValueBuffer4 336376 336705 336561 9403051
ExistentialTestOneMethodCall_ClassValueBuffer1 220068 220075 220071 9407147
ExistentialTestOneMethodCall_ClassValueBuffer2 300076 300916 300427 9422165
ExistentialTestOneMethodCall_ClassValueBuffer3 375861 375978 375907 9420800
ExistentialTestOneMethodCall_ClassValueBuffer4 368355 368496 368405 9412608
ExistentialTestOneMethodCall_IntValueBuffer0 43958 43980 43968 9418069
ExistentialTestOneMethodCall_IntValueBuffer1 42442 42473 42458 9405781
ExistentialTestOneMethodCall_IntValueBuffer2 43957 43959 43958 9403051
ExistentialTestOneMethodCall_IntValueBuffer3 44677 45857 45329 9403051
ExistentialTestOneMethodCall_IntValueBuffer4 44861 46934 46052 9405781
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 664663 664928 664810 9409877
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 943681 943979 943869 9418069
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 1252577 1254327 1253654 9412608
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 933119 933913 933470 9415339
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 131660 133301 132229 9413973
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 133063 134253 133776 9418069
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 133203 134280 133622 9428992
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 136419 137085 136828 9409877
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 256312 256636 256461 9411243
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 1360543 1360900 1360716 9409877
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 1817252 1817414 1817316 9409877
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 2237430 2304016 2260258 9409877
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 1906622 1907569 1907095 9418069
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 195831 196170 195977 9409877
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 191809 192273 192005 9418069
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 219128 219250 219202 9409877
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 238288 238965 238531 9407147
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 389327 400164 396524 9409877
ExistentialTestTwoMethodCalls_ClassValueBuffer1 554744 554825 554788 9412608
ExistentialTestTwoMethodCalls_ClassValueBuffer2 708405 710225 709064 9404416
ExistentialTestTwoMethodCalls_ClassValueBuffer3 860266 860635 860420 9418069
ExistentialTestTwoMethodCalls_ClassValueBuffer4 866074 866437 866313 9407147
ExistentialTestTwoMethodCalls_IntValueBuffer0 81162 81358 81286 9403051
ExistentialTestTwoMethodCalls_IntValueBuffer1 81851 82419 82192 9405781
ExistentialTestTwoMethodCalls_IntValueBuffer2 90544 90739 90649 9405781
ExistentialTestTwoMethodCalls_IntValueBuffer3 95531 96064 95719 9408512
ExistentialTestTwoMethodCalls_IntValueBuffer4 110320 111167 110797 9418069
Fibonacci 26500 26507 26502 9393493
StringWalkASCIICharacters 59395 59610 59530 9424896
StringWalkASCIICharactersBackwards 67103 67693 67350 9446741
StringWalkASCIIScalars 21272 21505 21364 9405781
StringWalkASCIIScalarsBackwards 298492 300956 299477 9456299
StringWalkMixedCharacters 122437 122643 122514 9456299
StringWalkMixedCharactersBackwards 143867 144087 143980 9483605
StringWalkMixedScalars 67174 67417 67331 9405781
StringWalkMixedScalarsBackwards 582453 588970 585148 9449472
StringWalkUnicodeCharacters 107939 107968 107953 9601024
StringWalkUnicodeCharactersBackwards 182621 190586 185277 9606485
StringWalkUnicodeScalars 22557 22568 22561 9609216
StringWalkUnicodeScalarsBackwards 337337 357548 344093 9617408
**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: 8 GB

@gottesmm
Copy link
Contributor

@palimondo Is it expected that so many benchmarks show up as added?

@palimondo
Copy link
Contributor Author

That ain't right. It does not happen locally, while my branch is based on commit 86620aa. Let me see if someone modified Benchmark_Driver on ToT...

@palimondo
Copy link
Contributor Author

palimondo commented May 12, 2017

Nope. It has something to do with how --list option for Benchmark_O is used in Benchmark_Driver to get the list of tests... I have to look into it some more.

@palimondo palimondo changed the title [benchmark] SR-4780 Can not run performance tests that are not in precommit suite [WIP][benchmark] SR-4780 Can not run performance tests that are not in precommit suite May 12, 2017
@palimondo
Copy link
Contributor Author

Ah, 💩. I don't understand why sometimes my forked branch gets some kind of update here on Github (shows as it needs to pull changes on my local working copy), and when I try to rebase it all goes to hell...

@palimondo palimondo force-pushed the SR-4780 branch 4 times, most recently from a1db85e to bda670d Compare June 5, 2017 21:10
SR-4780 Can not run performance tests that are not in precommit suite

Modified driver to honor command line arguments when listing enabled tests. Fixed interaction between filters (positional arguments) and --run-all option.

Benchmark_Driver lists available benchmarks with --run-all option when benchmarks or filters are specified.
@palimondo palimondo changed the title [WIP][benchmark] SR-4780 Can not run performance tests that are not in precommit suite [benchmark] SR-4780 Can not run performance tests that are not in precommit suite Jun 7, 2017
@palimondo
Copy link
Contributor Author

palimondo commented Jun 7, 2017

I think I got this.
Please review, benchmark, smoke test and merge. // @gottesmm @dabrahams

@palimondo
Copy link
Contributor Author

@dabrahams Please review, benchmark, smoke test and merge.

@dabrahams
Copy link
Contributor

@swift-ci Please benchmark

@dabrahams
Copy link
Contributor

@swift-ci Please smoke test

@swift-ci
Copy link
Contributor

swift-ci commented Jun 9, 2017

Build comment file:

Optimized (O)

Regression (5)
TEST OLD NEW DELTA SPEEDUP
ProtocolDispatch 2424 3030 +25.0% 0.80x
PopFrontArray 1075 1203 +11.9% 0.89x
PopFrontArrayGeneric 1075 1200 +11.6% 0.90x
SuffixCountableRangeLazy 10 11 +10.0% 0.91x
SuffixCountableRange 10 11 +10.0% 0.91x
Improvement (6)
TEST OLD NEW DELTA SPEEDUP
SuffixArrayLazy 11 8 -27.3% 1.37x
ArrayAppendAscii 24394 22144 -9.2% 1.10x
ObjectiveCBridgeStubNSDateRefAccess 375 347 -7.5% 1.08x
IterateData 751 704 -6.3% 1.07x
OpenClose 51 48 -5.9% 1.06x
MapReduceShortString 20 19 -5.0% 1.05x
No Changes (270)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3013 2954 -2.0% 1.02x (?)
AnyHashableWithAClass 67404 66448 -1.4% 1.01x
Array2D 2060 2034 -1.3% 1.01x (?)
ArrayAppend 789 773 -2.0% 1.02x (?)
ArrayAppendArrayOfInt 616 596 -3.2% 1.03x
ArrayAppendFromGeneric 607 596 -1.8% 1.02x
ArrayAppendGenericStructs 1237 1221 -1.3% 1.01x (?)
ArrayAppendLatin1 43423 43254 -0.4% 1.00x
ArrayAppendLazyMap 1002 993 -0.9% 1.01x (?)
ArrayAppendOptionals 1216 1219 +0.2% 1.00x (?)
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
ArrayAppendReserved 533 533 +0.0% 1.00x
ArrayAppendSequence 949 947 -0.2% 1.00x (?)
ArrayAppendStrings 13570 13593 +0.2% 1.00x (?)
ArrayAppendToFromGeneric 597 597 +0.0% 1.00x
ArrayAppendToGeneric 597 595 -0.3% 1.00x (?)
ArrayAppendUTF16 41477 41109 -0.9% 1.01x (?)
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1214 1220 +0.5% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 4021 3992 -0.7% 1.01x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3879 3874 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 596 596 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4657 4666 +0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 774 774 +0.0% 1.00x
ArrayPlusEqualThreeElements 1599 1592 -0.4% 1.00x (?)
ArraySubscript 1498 1489 -0.6% 1.01x (?)
ArrayValueProp 6 6 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
BitCount 14 14 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 5180 5224 +0.8% 0.99x (?)
CStringLongNonAscii 2309 2301 -0.3% 1.00x (?)
CStringShortAscii 5620 5635 +0.3% 1.00x (?)
Calculator 31 31 +0.0% 1.00x
CaptureProp 4851 4851 +0.0% 1.00x
CharacterLiteralsLarge 5926 5877 -0.8% 1.01x (?)
CharacterLiteralsSmall 403 403 +0.0% 1.00x
Chars 944 946 +0.2% 1.00x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 186 186 +0.0% 1.00x
Dictionary 553 552 -0.2% 1.00x (?)
Dictionary2 1800 1814 +0.8% 0.99x (?)
Dictionary2OfObjects 3329 3289 -1.2% 1.01x (?)
Dictionary3 440 440 +0.0% 1.00x
Dictionary3OfObjects 882 887 +0.6% 0.99x (?)
DictionaryBridge 2794 2742 -1.9% 1.02x (?)
DictionaryLiteral 1477 1474 -0.2% 1.00x (?)
DictionaryOfObjects 2311 2315 +0.2% 1.00x (?)
DictionaryRemove 2460 2386 -3.0% 1.03x
DictionaryRemoveOfObjects 23369 23395 +0.1% 1.00x (?)
DictionarySwap 431 431 +0.0% 1.00x
DictionarySwapOfObjects 6958 6924 -0.5% 1.00x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 44953 44808 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIter 27069 27493 +1.6% 0.98x (?)
DropFirstAnySeqCRangeIterLazy 27083 27496 +1.5% 0.98x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 5851 5905 +0.9% 0.99x (?)
DropFirstAnySequenceLazy 5842 5900 +1.0% 0.99x
DropFirstArray 24 24 +0.0% 1.00x
DropFirstArrayLazy 25 24 -4.0% 1.04x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 2093 2093 +0.0% 1.00x
DropFirstSequenceLazy 2118 2117 -0.0% 1.00x (?)
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15014 15054 +0.3% 1.00x (?)
DropLastAnySeqCRangeIter 4588 4586 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4588 4585 -0.1% 1.00x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6638 6680 +0.6% 0.99x (?)
DropLastAnySequenceLazy 6511 6508 -0.0% 1.00x (?)
DropLastArray 8 8 +0.0% 1.00x
DropLastArrayLazy 8 8 +0.0% 1.00x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 607 605 -0.3% 1.00x (?)
DropLastSequenceLazy 607 606 -0.2% 1.00x (?)
DropWhileAnyCollection 69 69 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21790 22102 +1.4% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 6707 6701 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 2032 2032 +0.0% 1.00x
DropWhileArray 37 37 +0.0% 1.00x
DropWhileArrayLazy 78 77 -1.3% 1.01x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequence 1548 1548 +0.0% 1.00x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
EqualStringSubstring 384 384 +0.0% 1.00x
EqualSubstringString 384 383 -0.3% 1.00x
EqualSubstringSubstring 383 383 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 387 387 +0.0% 1.00x
ErrorHandling 2767 2714 -1.9% 1.02x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3257 3256 -0.0% 1.00x (?)
HashTest 1682 1681 -0.1% 1.00x (?)
Histogram 298 299 +0.3% 1.00x (?)
Integrate 262 262 +0.0% 1.00x
Join 374 374 +0.0% 1.00x
LazilyFilteredArrays 64706 64760 +0.1% 1.00x (?)
LazilyFilteredRange 3888 3883 -0.1% 1.00x (?)
LessSubstringSubstring 383 383 +0.0% 1.00x
LessSubstringSubstringGenericComparable 383 382 -0.3% 1.00x (?)
LinkedList 7043 7157 +1.6% 0.98x
MapReduce 329 329 +0.0% 1.00x
MapReduceAnyCollection 302 302 +0.0% 1.00x
MapReduceAnyCollectionShort 1991 1994 +0.2% 1.00x (?)
MapReduceClass 3044 3046 +0.1% 1.00x (?)
MapReduceClassShort 4511 4498 -0.3% 1.00x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 45 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 467 467 +0.0% 1.00x
MapReduceShort 1894 1909 +0.8% 0.99x (?)
MapReduceString 81 80 -1.2% 1.01x
Memset 234 234 +0.0% 1.00x
MonteCarloE 10379 10351 -0.3% 1.00x
MonteCarloPi 44076 44012 -0.1% 1.00x (?)
NSDictionaryCastToSwift 5312 5288 -0.5% 1.00x (?)
NSError 291 288 -1.0% 1.01x (?)
NSStringConversion 749 750 +0.1% 1.00x (?)
NopDeinit 27438 27444 +0.0% 1.00x (?)
ObjectAllocation 179 179 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23696 23616 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4486 4492 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44626 44085 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38011 38099 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 118030 118231 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5112 5118 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 96772 95868 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 90709 90736 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 64435 64758 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4152 4137 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71558 71574 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62542 62586 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSString 1408 1408 +0.0% 1.00x
ObjectiveCBridgeFromNSStringForced 2389 2380 -0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3743 3723 -0.5% 1.01x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 28990 29251 +0.9% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 3732 3701 -0.8% 1.01x (?)
ObjectiveCBridgeStubFromNSDateRef 3731 3728 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 955 936 -2.0% 1.02x (?)
ObjectiveCBridgeStubFromNSStringRef 179 184 +2.8% 0.97x (?)
ObjectiveCBridgeStubNSDataAppend 2321 2292 -1.2% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 12667 12723 +0.4% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28799 28980 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14264 14079 -1.3% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3380 3418 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSString 1512 1516 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 109 111 +1.8% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 226653 230224 +1.6% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 230553 228323 -1.0% 1.01x (?)
ObjectiveCBridgeToNSArray 29020 29254 +0.8% 0.99x (?)
ObjectiveCBridgeToNSDictionary 51684 51405 -0.5% 1.01x (?)
ObjectiveCBridgeToNSSet 40092 39999 -0.2% 1.00x (?)
ObjectiveCBridgeToNSString 1260 1260 +0.0% 1.00x
ObserverClosure 2283 2287 +0.2% 1.00x (?)
ObserverForwarderStruct 1104 1111 +0.6% 0.99x (?)
ObserverPartiallyAppliedMethod 3804 3769 -0.9% 1.01x (?)
ObserverUnappliedMethod 2625 2625 +0.0% 1.00x
Phonebook 5793 5820 +0.5% 1.00x (?)
PolymorphicCalls 22 21 -4.5% 1.05x
PopFrontUnsafePointer 8842 8972 +1.5% 0.99x (?)
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 44956 45086 +0.3% 1.00x (?)
PrefixAnySeqCRangeIter 21223 21631 +1.9% 0.98x
PrefixAnySeqCRangeIterLazy 21223 21627 +1.9% 0.98x
PrefixAnySeqCntRange 50 52 +4.0% 0.96x
PrefixAnySeqCntRangeLazy 50 52 +4.0% 0.96x
PrefixAnySequence 5110 5144 +0.7% 0.99x (?)
PrefixAnySequenceLazy 5114 5144 +0.6% 0.99x (?)
PrefixArray 24 24 +0.0% 1.00x
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequence 1576 1571 -0.3% 1.00x (?)
PrefixSequenceLazy 1515 1515 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12456 12459 +0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCntRange 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 75 75 +0.0% 1.00x
PrefixWhileAnySequence 14103 13947 -1.1% 1.01x (?)
PrefixWhileAnySequenceLazy 1492 1492 +0.0% 1.00x
PrefixWhileArray 62 62 +0.0% 1.00x
PrefixWhileArrayLazy 49 49 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 32 32 +0.0% 1.00x
PrefixWhileSequence 317 315 -0.6% 1.01x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 776 786 +1.3% 0.99x (?)
ProtocolDispatch2 160 168 +5.0% 0.95x
RC4 160 158 -1.2% 1.01x (?)
RGBHistogram 2358 2364 +0.3% 1.00x (?)
RGBHistogramOfObjects 24379 24396 +0.1% 1.00x (?)
RangeAssignment 293 306 +4.4% 0.96x
RecursiveOwnedParameter 2324 2316 -0.3% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29096 29421 +1.1% 0.99x (?)
ReversedDictionary 113 112 -0.9% 1.01x (?)
SetExclusiveOr 3163 3164 +0.0% 1.00x (?)
SetExclusiveOr_OfObjects 9492 9513 +0.2% 1.00x (?)
SetIntersect 271 281 +3.7% 0.96x
SetIntersect_OfObjects 1718 1722 +0.2% 1.00x (?)
SetIsSubsetOf 292 292 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 368 +2.5% 0.98x
SetUnion 2754 2749 -0.2% 1.00x (?)
SetUnion_OfObjects 8041 8055 +0.2% 1.00x (?)
SevenBoom 1474 1458 -1.1% 1.01x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 7847 7918 +0.9% 0.99x (?)
SortLettersInPlace 1146 1158 +1.0% 0.99x
SortSortedStrings 840 842 +0.2% 1.00x (?)
SortStrings 1626 1634 +0.5% 1.00x (?)
SortStringsUnicode 7778 7625 -2.0% 1.02x (?)
StackPromo 22384 22247 -0.6% 1.01x (?)
StaticArray 18 18 +0.0% 1.00x
StrComplexWalk 720 720 +0.0% 1.00x
StrToInt 1932 1991 +3.1% 0.97x (?)
StringAdder 0 0 +0.0% 1.00x
StringBuilder 997 1009 +1.2% 0.99x (?)
StringBuilderLong 907 906 -0.1% 1.00x (?)
StringEdits 105142 104862 -0.3% 1.00x (?)
StringEqualPointerComparison 333 333 +0.0% 1.00x
StringFromLongWholeSubstring 10156 10160 +0.0% 1.00x (?)
StringFromLongWholeSubstringGeneric 22 22 +0.0% 1.00x
StringHasPrefix 16 16 +0.0% 1.00x
StringHasPrefixUnicode 14598 14580 -0.1% 1.00x (?)
StringHasSuffix 16 16 +0.0% 1.00x
StringHasSuffixUnicode 61636 61925 +0.5% 1.00x (?)
StringInterpolation 10852 10532 -2.9% 1.03x (?)
StringMatch 7022 7011 -0.2% 1.00x (?)
StringUTF16Builder 1853 1850 -0.2% 1.00x (?)
StringWalk 1266 1270 +0.3% 1.00x
StringWithCString 68864 68873 +0.0% 1.00x (?)
SubstringComparable 1544 1544 +0.0% 1.00x
SubstringEqualString 1427 1424 -0.2% 1.00x (?)
SubstringEquatable 3365 3375 +0.3% 1.00x (?)
SubstringFromLongString 109 109 +0.0% 1.00x
SubstringFromLongStringGeneric 174 174 +0.0% 1.00x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 14980 15139 +1.1% 0.99x (?)
SuffixAnySeqCRangeIter 4910 4909 -0.0% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4907 4908 +0.0% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6663 6681 +0.3% 1.00x (?)
SuffixAnySequenceLazy 6603 6557 -0.7% 1.01x (?)
SuffixArray 8 8 +0.0% 1.00x
SuffixSequence 4433 4431 -0.0% 1.00x (?)
SuffixSequenceLazy 4431 4433 +0.0% 1.00x (?)
SuperChars 80430 80536 +0.1% 1.00x (?)
TwoSum 972 959 -1.3% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 254 254 +0.0% 1.00x
Walsh 352 348 -1.1% 1.01x
XorLoop 347 347 +0.0% 1.00x

Unoptimized (Onone)

Regression (1)
TEST OLD NEW DELTA SPEEDUP
StringHasSuffix 1773 1883 +6.2% 0.94x
No Changes (280)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4935 4930 -0.1% 1.00x (?)
AnyHashableWithAClass 84986 84245 -0.9% 1.01x
Array2D 608634 606067 -0.4% 1.00x
ArrayAppend 3783 3783 +0.0% 1.00x
ArrayAppendArrayOfInt 650 649 -0.2% 1.00x (?)
ArrayAppendAscii 60537 60457 -0.1% 1.00x (?)
ArrayAppendFromGeneric 653 654 +0.2% 1.00x
ArrayAppendGenericStructs 1283 1298 +1.2% 0.99x (?)
ArrayAppendLatin1 85301 85160 -0.2% 1.00x
ArrayAppendLazyMap 209394 209618 +0.1% 1.00x (?)
ArrayAppendOptionals 1299 1321 +1.7% 0.98x
ArrayAppendRepeatCol 211154 210624 -0.3% 1.00x (?)
ArrayAppendReserved 3534 3538 +0.1% 1.00x (?)
ArrayAppendSequence 75463 75471 +0.0% 1.00x (?)
ArrayAppendStrings 13669 13645 -0.2% 1.00x (?)
ArrayAppendToFromGeneric 652 652 +0.0% 1.00x
ArrayAppendToGeneric 654 655 +0.2% 1.00x (?)
ArrayAppendUTF16 82470 82751 +0.3% 1.00x (?)
ArrayInClass 6766 6718 -0.7% 1.01x
ArrayLiteral 1744 1753 +0.5% 0.99x
ArrayOfGenericPOD 3158 3165 +0.2% 1.00x
ArrayOfGenericRef 10203 10178 -0.2% 1.00x (?)
ArrayOfPOD 1892 1892 +0.0% 1.00x
ArrayOfRef 9135 9153 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 652 650 -0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 294766 294615 -0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 291086 288421 -0.9% 1.01x (?)
ArrayPlusEqualThreeElements 10310 10304 -0.1% 1.00x (?)
ArraySubscript 4194 4146 -1.1% 1.01x (?)
ArrayValueProp 3535 3522 -0.4% 1.00x (?)
ArrayValueProp2 18307 18332 +0.1% 1.00x (?)
ArrayValueProp3 3930 3925 -0.1% 1.00x (?)
ArrayValueProp4 3876 3858 -0.5% 1.00x
BitCount 160 157 -1.9% 1.02x (?)
ByteSwap 26 26 +0.0% 1.00x
CStringLongAscii 5394 5402 +0.1% 1.00x (?)
CStringLongNonAscii 2521 2518 -0.1% 1.00x (?)
CStringShortAscii 9429 9434 +0.1% 1.00x (?)
Calculator 1161 1208 +4.0% 0.96x
CaptureProp 108694 107639 -1.0% 1.01x
CharacterLiteralsLarge 6098 6131 +0.5% 0.99x
CharacterLiteralsSmall 662 643 -2.9% 1.03x
Chars 48983 48868 -0.2% 1.00x
ClassArrayGetter 1013 1014 +0.1% 1.00x (?)
DeadArray 115133 112580 -2.2% 1.02x (?)
Dictionary 2996 2965 -1.0% 1.01x (?)
Dictionary2 3487 3465 -0.6% 1.01x (?)
Dictionary2OfObjects 6183 6148 -0.6% 1.01x (?)
Dictionary3 1299 1304 +0.4% 1.00x (?)
Dictionary3OfObjects 2372 2363 -0.4% 1.00x (?)
DictionaryBridge 2863 2842 -0.7% 1.01x (?)
DictionaryLiteral 8224 8230 +0.1% 1.00x (?)
DictionaryOfObjects 6619 6685 +1.0% 0.99x (?)
DictionaryRemove 21091 21271 +0.9% 0.99x (?)
DictionaryRemoveOfObjects 60342 60095 -0.4% 1.00x (?)
DictionarySwap 5413 5581 +3.1% 0.97x
DictionarySwapOfObjects 23902 24066 +0.7% 0.99x (?)
DropFirstAnyCollection 19470 19524 +0.3% 1.00x
DropFirstAnyCollectionLazy 138589 136284 -1.7% 1.02x (?)
DropFirstAnySeqCRangeIter 29706 29374 -1.1% 1.01x (?)
DropFirstAnySeqCRangeIterLazy 30398 29630 -2.5% 1.03x (?)
DropFirstAnySeqCntRange 19468 19385 -0.4% 1.00x
DropFirstAnySeqCntRangeLazy 19721 19363 -1.8% 1.02x
DropFirstAnySequence 12974 12949 -0.2% 1.00x
DropFirstAnySequenceLazy 13107 12941 -1.3% 1.01x
DropFirstArray 6318 6326 +0.1% 1.00x
DropFirstArrayLazy 44416 44304 -0.3% 1.00x
DropFirstCountableRange 339 339 +0.0% 1.00x
DropFirstCountableRangeLazy 38454 39084 +1.6% 0.98x
DropFirstSequence 12252 11958 -2.4% 1.02x
DropFirstSequenceLazy 12009 11939 -0.6% 1.01x
DropLastAnyCollection 6513 6542 +0.4% 1.00x
DropLastAnyCollectionLazy 45983 45626 -0.8% 1.01x (?)
DropLastAnySeqCRangeIter 43964 43989 +0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 43853 44058 +0.5% 1.00x (?)
DropLastAnySeqCntRange 6499 6464 -0.5% 1.01x
DropLastAnySeqCntRangeLazy 6587 6498 -1.4% 1.01x
DropLastAnySequence 29051 29076 +0.1% 1.00x (?)
DropLastAnySequenceLazy 29056 28995 -0.2% 1.00x
DropLastArray 2111 2114 +0.1% 1.00x (?)
DropLastArrayLazy 14832 14825 -0.0% 1.00x (?)
DropLastCountableRange 118 118 +0.0% 1.00x
DropLastCountableRangeLazy 12780 12947 +1.3% 0.99x
DropLastSequence 28640 28623 -0.1% 1.00x
DropLastSequenceLazy 28676 28701 +0.1% 1.00x (?)
DropWhileAnyCollection 25576 25256 -1.3% 1.01x
DropWhileAnyCollectionLazy 28903 27671 -4.3% 1.04x
DropWhileAnySeqCRangeIter 32019 31766 -0.8% 1.01x
DropWhileAnySeqCRangeIterLazy 27682 27676 -0.0% 1.00x (?)
DropWhileAnySeqCntRange 25588 25129 -1.8% 1.02x
DropWhileAnySeqCntRangeLazy 28946 27660 -4.4% 1.05x (?)
DropWhileAnySequence 15253 15275 +0.1% 1.00x (?)
DropWhileAnySequenceLazy 12485 12403 -0.7% 1.01x
DropWhileArray 9909 9897 -0.1% 1.00x
DropWhileArrayLazy 16822 16952 +0.8% 0.99x
DropWhileCountableRange 6177 6161 -0.3% 1.00x (?)
DropWhileCountableRangeLazy 26811 26592 -0.8% 1.01x (?)
DropWhileSequence 14493 14296 -1.4% 1.01x
DropWhileSequenceLazy 11378 11238 -1.2% 1.01x
EqualStringSubstring 658 659 +0.2% 1.00x (?)
EqualSubstringString 655 655 +0.0% 1.00x
EqualSubstringSubstring 764 765 +0.1% 1.00x (?)
EqualSubstringSubstringGenericEquatable 414 416 +0.5% 1.00x
ErrorHandling 6660 6674 +0.2% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 18376 18746 +2.0% 0.98x (?)
HashTest 18266 18308 +0.2% 1.00x (?)
Histogram 8630 8695 +0.8% 0.99x (?)
Integrate 734 734 +0.0% 1.00x
IterateData 12851 12806 -0.4% 1.00x
Join 1187 1185 -0.2% 1.00x (?)
LazilyFilteredArrays 1693341 1694144 +0.0% 1.00x (?)
LazilyFilteredRange 691649 682346 -1.3% 1.01x
LessSubstringSubstring 772 765 -0.9% 1.01x (?)
LessSubstringSubstringGenericComparable 435 436 +0.2% 1.00x
LinkedList 43607 43784 +0.4% 1.00x
MapReduce 37521 37861 +0.9% 0.99x
MapReduceAnyCollection 37499 37800 +0.8% 0.99x (?)
MapReduceAnyCollectionShort 50032 50660 +1.3% 0.99x (?)
MapReduceClass 42912 42887 -0.1% 1.00x (?)
MapReduceClassShort 54341 54077 -0.5% 1.00x (?)
MapReduceLazyCollection 32651 33132 +1.5% 0.99x
MapReduceLazyCollectionShort 43664 44054 +0.9% 0.99x (?)
MapReduceLazySequence 25578 25452 -0.5% 1.00x
MapReduceSequence 41541 41171 -0.9% 1.01x
MapReduceShort 49927 50236 +0.6% 0.99x (?)
MapReduceShortString 273 272 -0.4% 1.00x (?)
MapReduceString 2574 2574 +0.0% 1.00x
Memset 43987 43989 +0.0% 1.00x (?)
MonteCarloE 133483 133988 +0.4% 1.00x
MonteCarloPi 52452 52474 +0.0% 1.00x
NSDictionaryCastToSwift 6547 6638 +1.4% 0.99x (?)
NSError 706 720 +2.0% 0.98x (?)
NSStringConversion 1316 1317 +0.1% 1.00x (?)
NopDeinit 185845 185925 +0.0% 1.00x (?)
ObjectAllocation 1451 1450 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25653 25742 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7750 7772 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45406 45626 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39267 38911 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122039 122607 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7359 7695 +4.6% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 103327 104899 +1.5% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 95734 92874 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 67669 68292 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7025 7352 +4.7% 0.96x
ObjectiveCBridgeFromNSSetAnyObjectToString 76902 76452 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 65476 65294 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSString 4058 4022 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2739 2745 +0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3755 3705 -1.3% 1.01x (?)
ObjectiveCBridgeStubDateAccess 1031 1026 -0.5% 1.00x
ObjectiveCBridgeStubDateMutation 517 515 -0.4% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29353 29573 +0.7% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 3947 4009 +1.6% 0.98x
ObjectiveCBridgeStubFromNSDateRef 4067 4152 +2.1% 0.98x
ObjectiveCBridgeStubFromNSString 969 979 +1.0% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 207 214 +3.4% 0.97x
ObjectiveCBridgeStubNSDataAppend 2679 2657 -0.8% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 14917 15391 +3.2% 0.97x (?)
ObjectiveCBridgeStubNSDateRefAccess 1205 1216 +0.9% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 29254 29232 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14921 14589 -2.2% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3372 3377 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1573 1578 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 148 148 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 232081 232388 +0.1% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 232511 233209 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 29386 29339 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 52587 53330 +1.4% 0.99x (?)
ObjectiveCBridgeToNSSet 40582 40615 +0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1309 1308 -0.1% 1.00x (?)
ObserverClosure 6799 6786 -0.2% 1.00x (?)
ObserverForwarderStruct 4796 4800 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8218 8218 +0.0% 1.00x
ObserverUnappliedMethod 8659 8643 -0.2% 1.00x (?)
OpenClose 395 395 +0.0% 1.00x
Phonebook 21814 22187 +1.7% 0.98x
PolymorphicCalls 5394 5365 -0.5% 1.01x (?)
PopFrontArray 7324 7452 +1.7% 0.98x
PopFrontArrayGeneric 6351 6457 +1.7% 0.98x
PopFrontUnsafePointer 97190 97053 -0.1% 1.00x (?)
PrefixAnyCollection 19782 19577 -1.0% 1.01x
PrefixAnyCollectionLazy 136763 137759 +0.7% 0.99x (?)
PrefixAnySeqCRangeIter 23716 23506 -0.9% 1.01x
PrefixAnySeqCRangeIterLazy 24284 23901 -1.6% 1.02x
PrefixAnySeqCntRange 19433 19392 -0.2% 1.00x (?)
PrefixAnySeqCntRangeLazy 19742 19413 -1.7% 1.02x
PrefixAnySequence 11026 10828 -1.8% 1.02x
PrefixAnySequenceLazy 10803 10901 +0.9% 0.99x (?)
PrefixArray 6319 6322 +0.0% 1.00x (?)
PrefixArrayLazy 44424 44311 -0.3% 1.00x (?)
PrefixCountableRange 338 339 +0.3% 1.00x (?)
PrefixCountableRangeLazy 38604 38865 +0.7% 0.99x (?)
PrefixSequence 9779 9750 -0.3% 1.00x
PrefixSequenceLazy 9968 9762 -2.1% 1.02x
PrefixWhileAnyCollection 37025 36776 -0.7% 1.01x (?)
PrefixWhileAnyCollectionLazy 23035 22940 -0.4% 1.00x
PrefixWhileAnySeqCRangeIter 40625 40592 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 23257 23014 -1.0% 1.01x
PrefixWhileAnySeqCntRange 37291 36675 -1.7% 1.02x
PrefixWhileAnySeqCntRangeLazy 23115 22946 -0.7% 1.01x
PrefixWhileAnySequence 29513 29449 -0.2% 1.00x
PrefixWhileAnySequenceLazy 11284 11292 +0.1% 1.00x
PrefixWhileArray 16980 16907 -0.4% 1.00x
PrefixWhileArrayLazy 14614 14737 +0.8% 0.99x
PrefixWhileCountableRange 17753 17650 -0.6% 1.01x (?)
PrefixWhileCountableRangeLazy 21997 22061 +0.3% 1.00x
PrefixWhileSequence 28290 28242 -0.2% 1.00x (?)
PrefixWhileSequenceLazy 10748 10428 -3.0% 1.03x
Prims 10238 10255 +0.2% 1.00x (?)
ProtocolDispatch 7014 7009 -0.1% 1.00x
ProtocolDispatch2 489 489 +0.0% 1.00x
RC4 18997 19089 +0.5% 1.00x (?)
RGBHistogram 33990 34012 +0.1% 1.00x (?)
RGBHistogramOfObjects 110205 109596 -0.6% 1.01x (?)
RangeAssignment 5674 5695 +0.4% 1.00x (?)
RecursiveOwnedParameter 11680 11672 -0.1% 1.00x (?)
ReversedArray 45331 45320 -0.0% 1.00x (?)
ReversedBidirectional 75604 75672 +0.1% 1.00x (?)
ReversedDictionary 28449 29071 +2.2% 0.98x
SetExclusiveOr 20762 20775 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 49049 49079 +0.1% 1.00x (?)
SetIntersect 10295 10382 +0.8% 0.99x (?)
SetIntersect_OfObjects 12346 12412 +0.5% 0.99x (?)
SetIsSubsetOf 1584 1609 +1.6% 0.98x (?)
SetIsSubsetOf_OfObjects 1539 1566 +1.8% 0.98x (?)
SetUnion 11680 11668 -0.1% 1.00x (?)
SetUnion_OfObjects 34325 34305 -0.1% 1.00x (?)
SevenBoom 1605 1609 +0.2% 1.00x (?)
Sim2DArray 30036 30032 -0.0% 1.00x (?)
SortLargeExistentials 17883 17821 -0.3% 1.00x
SortLettersInPlace 3223 3223 +0.0% 1.00x
SortSortedStrings 1413 1415 +0.1% 1.00x (?)
SortStrings 2445 2457 +0.5% 1.00x (?)
SortStringsUnicode 8824 8783 -0.5% 1.00x
StackPromo 99360 100368 +1.0% 0.99x (?)
StaticArray 4580 4601 +0.5% 1.00x (?)
StrComplexWalk 6947 6959 +0.2% 1.00x (?)
StrToInt 97137 97381 +0.3% 1.00x (?)
StringAdder 43 45 +4.7% 0.96x
StringBuilder 6935 6917 -0.3% 1.00x (?)
StringBuilderLong 1091 1108 +1.6% 0.98x (?)
StringEdits 378104 373526 -1.2% 1.01x (?)
StringEqualPointerComparison 2509 2587 +3.1% 0.97x
StringFromLongWholeSubstring 10030 10015 -0.1% 1.00x (?)
StringFromLongWholeSubstringGeneric 200 199 -0.5% 1.01x (?)
StringHasPrefix 1709 1731 +1.3% 0.99x
StringHasPrefixUnicode 16236 16157 -0.5% 1.00x (?)
StringHasSuffixUnicode 63496 63454 -0.1% 1.00x (?)
StringInterpolation 13713 13852 +1.0% 0.99x (?)
StringMatch 28972 29202 +0.8% 0.99x (?)
StringUTF16Builder 7754 7780 +0.3% 1.00x (?)
StringWalk 12961 12959 -0.0% 1.00x (?)
StringWithCString 68935 68910 -0.0% 1.00x (?)
SubstringComparable 4103 4071 -0.8% 1.01x (?)
SubstringEqualString 6216 6248 +0.5% 0.99x (?)
SubstringEquatable 7982 8116 +1.7% 0.98x
SubstringFromLongString 119 115 -3.4% 1.03x (?)
SubstringFromLongStringGeneric 211 210 -0.5% 1.00x
SuffixAnyCollection 6650 6546 -1.6% 1.02x
SuffixAnyCollectionLazy 46052 45434 -1.3% 1.01x (?)
SuffixAnySeqCRangeIter 41676 41471 -0.5% 1.00x
SuffixAnySeqCRangeIterLazy 41621 41581 -0.1% 1.00x
SuffixAnySeqCntRange 6490 6452 -0.6% 1.01x (?)
SuffixAnySeqCntRangeLazy 6584 6513 -1.1% 1.01x
SuffixAnySequence 26844 26885 +0.2% 1.00x (?)
SuffixAnySequenceLazy 26819 26811 -0.0% 1.00x (?)
SuffixArray 2115 2115 +0.0% 1.00x
SuffixArrayLazy 14820 14819 -0.0% 1.00x (?)
SuffixCountableRange 117 118 +0.9% 0.99x
SuffixCountableRangeLazy 12804 12968 +1.3% 0.99x
SuffixSequence 26439 26404 -0.1% 1.00x
SuffixSequenceLazy 26425 26617 +0.7% 0.99x
SuperChars 188884 189007 +0.1% 1.00x (?)
TwoSum 4245 4243 -0.0% 1.00x (?)
TypeFlood 165 167 +1.2% 0.99x (?)
UTF8Decode 37071 37317 +0.7% 0.99x
Walsh 11867 11974 +0.9% 0.99x
XorLoop 23705 23706 +0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini7,1
  Processor Name: Intel Core i5
  Processor Speed: 2.8 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache (per Core): 256 KB
  L3 Cache: 3 MB
  Memory: 16 GB

@palimondo
Copy link
Contributor Author

@dabrahams Do you need a review here ( @gottesmm ?), or is it good to merge?

@dabrahams
Copy link
Contributor

LGTM.

@dabrahams dabrahams merged commit 7e6c12a into swiftlang:master Jun 12, 2017
@palimondo
Copy link
Contributor Author

Thanks @dabrahams, @gottesmm and @CodaFi for your patience and help! This one took longer than expected ;-)

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.

6 participants