Skip to content

Remove the -sil-serialize-all option #12256

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 11 commits into from
Oct 6, 2017

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Oct 3, 2017

No description provided.

@swiftix
Copy link
Contributor Author

swiftix commented Oct 3, 2017

@swift-ci please smoke test

@swiftix swiftix requested a review from slavapestov October 3, 2017 23:50
@swiftix
Copy link
Contributor Author

swiftix commented Oct 3, 2017

@slavapestov Slava, do you want to have a look?

@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please test

@swift-ci
Copy link
Contributor

swift-ci commented Oct 4, 2017

Build failed
Swift Test Linux Platform
Git Sha - 21868df133e5f1b61a2796780dea89edb64e2978

@@ -323,7 +323,7 @@ class SILModule {
}

/// Returns true if everything in this SILModule is being serialized.
bool isWholeModuleSerialized() const { return Options.SILSerializeAll; }
bool isWholeModuleSerialized() const { return false; }
Copy link
Contributor

Choose a reason for hiding this comment

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

Are you going to remove this, and ResilienceStrategy::Fragile, etc?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, I'm going to remove it as well. There is no need for it anymore.

Copy link
Contributor

Choose a reason for hiding this comment

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

Also makeModuleFragile() in SILGen

@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please test

@swift-ci
Copy link
Contributor

swift-ci commented Oct 4, 2017

Build failed
Swift Test Linux Platform
Git Sha - 21868df133e5f1b61a2796780dea89edb64e2978

@jrose-apple
Copy link
Contributor

StdlibUnittest was still using -sil-serialize-all in order to make sure that things actually get specialized. Are we going to do something about that? cc @moiseev

@slavapestov
Copy link
Contributor

@jrose-apple I don't think so. Can you un-revert my PR so that this one can apply cleanly?

@slavapestov
Copy link
Contributor

slavapestov commented Oct 4, 2017

@swiftix Once #12275 passes tests you can merge it and then merge this

@@ -258,8 +258,6 @@ ModuleDecl *CompilerInstance::getMainModule() {

if (Invocation.getFrontendOptions().EnableResilience)
MainModule->setResilienceStrategy(ResilienceStrategy::Resilient);
else if (Invocation.getSILOptions().SILSerializeAll)
MainModule->setResilienceStrategy(ResilienceStrategy::Fragile);
Copy link
Contributor

Choose a reason for hiding this comment

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

You forgot to remove ResiienceStrategy::Fragile

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@slavapestov In cases like below, should we check instead for SILSerializeWitnessTables or remove them alltogether?


if (isProtocolConformanceKind(getKind())) {
    auto conformance = getProtocolConformance();

    auto conformanceModule = conformance->getDeclContext()->getParentModule();
    auto isCompletelySerialized = conformanceModule->getResilienceStrategy() ==
                                  ResilienceStrategy::Fragile;

    // The conformance is fragile if it is in a -sil-serialize-all module.
    return isCompletelySerialized;
  }

Copy link
Contributor

Choose a reason for hiding this comment

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

I think you should check your flag yes.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@slavapestov Hmm. There is a small problem here. The code above is inside LinkEntity::isFragile, which does not contain any reference to the SILModule, which has SILSerializeWitnessTables flag. It can only access ModuleDecl through conformance->getDeclContext()->getParentModule().

How do we solve this in the cleanest way? Should we add an IGM argument to the function? Should we add a flag for -sil-serialize-witness-tables and -sil-serialize-vtables to the ModuleDecl or may be even have a reference from ModuleDecl to SILOptions?

BTW, why don't ModuleDecls have a back-reference to the SILModules? It could be useful for such cases...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK. I moved SILSerializeWitnessTables and SILSerializeVTables into LanguageOptions, so that they are accessible from ASTContext and ModuleDecl.

slavapestov and others added 4 commits October 4, 2017 14:07
@swiftix swiftix force-pushed the sil-serialize-all-improvments branch from 22b4205 to 3ade0a9 Compare October 4, 2017 21:21
@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean test

@swift-ci
Copy link
Contributor

swift-ci commented Oct 4, 2017

Build failed
Swift Test OS X Platform
Git Sha - 3ade0a9f36b701b6b4e62ab890bb6e4a5a4f6e70

@swiftix swiftix force-pushed the sil-serialize-all-improvments branch from 3ade0a9 to 6c85fff Compare October 4, 2017 21:50
@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean smoke test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean smoke test Linux

@swiftix
Copy link
Contributor Author

swiftix commented Oct 4, 2017

@swift-ci please clean test Linux

@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please clean test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please clean test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please smoke benchmark

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Oct 5, 2017

Build failed
Swift Test Linux Platform
Git Sha - f824999

@swift-ci
Copy link
Contributor

swift-ci commented Oct 5, 2017

Build failed
Swift Test OS X Platform
Git Sha - f824999

@swift-ci
Copy link
Contributor

swift-ci commented Oct 5, 2017

Build comment file:

Optimized (O)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
StringEqualPointerComparison 343 443 +29.2% 0.77x
CaptureProp 5153 6006 +16.6% 0.86x
NSDictionaryCastToSwift 5204 5801 +11.5% 0.90x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3823 4217 +10.3% 0.91x (?)
SubstringComparable 1589 1724 +8.5% 0.92x
ErrorHandling 1984 2139 +7.8% 0.93x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 125304 133657 +6.7% 0.94x
SubstringEquatable 3602 3827 +6.2% 0.94x
SortStringsUnicode 8593 9092 +5.8% 0.95x
SumUsingReduce 92 97 +5.4% 0.95x
Improvement (16)
TEST OLD NEW DELTA SPEEDUP
DropLastArray 17 11 -35.3% 1.55x
SuffixArrayLazy 17 11 -35.3% 1.55x
DropLastArrayLazy 17 11 -35.3% 1.55x
SuffixArray 17 11 -35.3% 1.55x
DropWhileArray 70 53 -24.3% 1.32x
CharIndexing_utf16_unicodeScalars_Backwards 73236 60542 -17.3% 1.21x
PrefixWhileArray 105 88 -16.2% 1.19x
ExclusivityInMatSet 20 17 -15.0% 1.18x
PrefixWhileCountableRange 53 46 -13.2% 1.15x
MapReduceLazyCollectionShort 39 34 -12.8% 1.15x
CharIteration_utf16_unicodeScalars_Backwards 111106 98473 -11.4% 1.13x
DropLastCountableRange 12 11 -8.3% 1.09x
NopDeinit 23516 21580 -8.2% 1.09x
DropLastSequence 729 679 -6.9% 1.07x
DropLastSequenceLazy 729 679 -6.9% 1.07x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 6275 5880 -6.3% 1.07x (?)
No Changes (307)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2824 2816 -0.3% 1.00x
AnyHashableWithAClass 66248 66907 +1.0% 0.99x
Array2D 2520 2523 +0.1% 1.00x (?)
ArrayAppend 1044 1045 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 744 744 +0.0% 1.00x
ArrayAppendAscii 23637 24575 +4.0% 0.96x
ArrayAppendFromGeneric 746 737 -1.2% 1.01x
ArrayAppendGenericStructs 1355 1355 +0.0% 1.00x
ArrayAppendLatin1 43140 44765 +3.8% 0.96x
ArrayAppendLazyMap 1289 1290 +0.1% 1.00x
ArrayAppendOptionals 1356 1355 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1285 1284 -0.1% 1.00x
ArrayAppendReserved 792 790 -0.3% 1.00x (?)
ArrayAppendSequence 1157 1162 +0.4% 1.00x
ArrayAppendStrings 15556 15015 -3.5% 1.04x
ArrayAppendToFromGeneric 744 745 +0.1% 1.00x (?)
ArrayAppendToGeneric 745 754 +1.2% 0.99x
ArrayAppendUTF16 44599 46647 +4.6% 0.96x
ArrayInClass 86 86 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 226 226 +0.0% 1.00x
ArrayOfGenericRef 3845 3838 -0.2% 1.00x (?)
ArrayOfPOD 184 180 -2.2% 1.02x (?)
ArrayOfRef 3801 3797 -0.1% 1.00x
ArrayPlusEqualArrayOfInt 747 727 -2.7% 1.03x
ArrayPlusEqualFiveElementCollection 4566 4499 -1.5% 1.01x
ArrayPlusEqualSingleElementCollection 1033 1036 +0.3% 1.00x (?)
ArrayPlusEqualThreeElements 1657 1597 -3.6% 1.04x (?)
ArraySetElement 544 544 +0.0% 1.00x
ArraySubscript 1482 1472 -0.7% 1.01x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BitCount 202 202 +0.0% 1.00x
ByteSwap 108 108 +0.0% 1.00x
CStringLongAscii 5713 5903 +3.3% 0.97x
CStringLongNonAscii 2433 2439 +0.2% 1.00x (?)
CStringShortAscii 4739 4779 +0.8% 0.99x (?)
Calculator 42 41 -2.4% 1.02x
CharIndexing_ascii_unicodeScalars 14918 14915 -0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 11569 11551 -0.2% 1.00x
CharIndexing_chinese_unicodeScalars 11303 11300 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 8772 8761 -0.1% 1.00x
CharIndexing_japanese_unicodeScalars 17862 17863 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 13828 13834 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 14477 14465 -0.1% 1.00x
CharIndexing_korean_unicodeScalars_Backwards 11211 11209 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2705 2702 -0.1% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2130 2127 -0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3381 3380 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 2655 2651 -0.2% 1.00x
CharIndexing_russian_unicodeScalars 12427 12431 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 9639 9638 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 29420 29773 +1.2% 0.99x
CharIndexing_tweet_unicodeScalars_Backwards 22787 22779 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 82916 82680 -0.3% 1.00x
CharIteration_ascii_unicodeScalars 16597 16401 -1.2% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 16767 16960 +1.2% 0.99x
CharIteration_chinese_unicodeScalars 12561 12423 -1.1% 1.01x
CharIteration_chinese_unicodeScalars_Backwards 12694 12837 +1.1% 0.99x
CharIteration_japanese_unicodeScalars 19880 19640 -1.2% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 20084 20318 +1.2% 0.99x
CharIteration_korean_unicodeScalars 16086 15905 -1.1% 1.01x
CharIteration_korean_unicodeScalars_Backwards 16265 16446 +1.1% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 2989 2956 -1.1% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3011 3047 +1.2% 0.99x
CharIteration_punctuated_unicodeScalars 3745 3701 -1.2% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3777 3829 +1.4% 0.99x
CharIteration_russian_unicodeScalars 13827 13660 -1.2% 1.01x
CharIteration_russian_unicodeScalars_Backwards 13965 14134 +1.2% 0.99x
CharIteration_tweet_unicodeScalars 32732 31999 -2.2% 1.02x
CharIteration_tweet_unicodeScalars_Backwards 33194 33522 +1.0% 0.99x
CharIteration_utf16_unicodeScalars 78621 78398 -0.3% 1.00x
CharacterLiteralsLarge 5706 5720 +0.2% 1.00x
CharacterLiteralsSmall 376 379 +0.8% 0.99x
Chars 531 532 +0.2% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
DeadArray 200 200 +0.0% 1.00x
Dictionary 599 586 -2.2% 1.02x
Dictionary2 1860 1857 -0.2% 1.00x (?)
Dictionary2OfObjects 3246 3262 +0.5% 1.00x (?)
Dictionary3 457 457 +0.0% 1.00x
Dictionary3OfObjects 808 807 -0.1% 1.00x (?)
DictionaryBridge 3669 3723 +1.5% 0.99x (?)
DictionaryGroup 259 258 -0.4% 1.00x
DictionaryGroupOfObjects 1721 1745 +1.4% 0.99x (?)
DictionaryLiteral 1415 1426 +0.8% 0.99x
DictionaryOfObjects 2201 2211 +0.5% 1.00x (?)
DictionaryRemove 2405 2477 +3.0% 0.97x (?)
DictionaryRemoveOfObjects 23120 23780 +2.9% 0.97x
DictionarySwap 440 440 +0.0% 1.00x
DictionarySwapOfObjects 7101 7130 +0.4% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 74883 71547 -4.5% 1.05x
DropFirstAnySeqCRangeIter 27864 27898 +0.1% 1.00x
DropFirstAnySeqCRangeIterLazy 27850 27925 +0.3% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 6302 6423 +1.9% 0.98x
DropFirstAnySequenceLazy 6283 6424 +2.2% 0.98x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 1985 1924 -3.1% 1.03x
DropFirstSequenceLazy 2020 1952 -3.4% 1.03x
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 24230 24219 -0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4631 4677 +1.0% 0.99x (?)
DropLastAnySeqCRangeIterLazy 4645 4665 +0.4% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 6607 6604 -0.0% 1.00x
DropLastAnySequenceLazy 6685 6652 -0.5% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22543 22354 -0.8% 1.01x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 7120 7103 -0.2% 1.00x
DropWhileAnySequenceLazy 1990 1989 -0.1% 1.00x
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1444 1445 +0.1% 1.00x (?)
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 397 402 +1.3% 0.99x
EqualSubstringString 400 403 +0.7% 0.99x
EqualSubstringSubstring 400 404 +1.0% 0.99x
EqualSubstringSubstringGenericEquatable 397 405 +2.0% 0.98x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1305 1266 -3.0% 1.03x
FilterEvenUsingReduceInto 143 143 +0.0% 1.00x
FrequenciesUsingReduce 7137 7495 +5.0% 0.95x
FrequenciesUsingReduceInto 4069 4030 -1.0% 1.01x (?)
Hanoi 3990 3811 -4.5% 1.05x
HashTest 1647 1661 +0.9% 0.99x
Histogram 285 288 +1.1% 0.99x
Integrate 254 254 +0.0% 1.00x
IterateData 1418 1417 -0.1% 1.00x (?)
Join 377 382 +1.3% 0.99x
LazilyFilteredArrays 65422 65292 -0.2% 1.00x (?)
LazilyFilteredRange 3973 3811 -4.1% 1.04x
LessSubstringSubstring 396 407 +2.8% 0.97x
LessSubstringSubstringGenericComparable 401 404 +0.7% 0.99x
LinkedList 7135 7151 +0.2% 1.00x
MapReduce 427 426 -0.2% 1.00x (?)
MapReduceAnyCollection 427 427 +0.0% 1.00x
MapReduceAnyCollectionShort 2051 2048 -0.1% 1.00x (?)
MapReduceClass 2958 2960 +0.1% 1.00x
MapReduceClassShort 4413 4415 +0.0% 1.00x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 437 445 +1.8% 0.98x
MapReduceShort 1946 1944 -0.1% 1.00x (?)
MapReduceShortString 22 22 +0.0% 1.00x
MapReduceString 108 110 +1.9% 0.98x
Memset 215 220 +2.3% 0.98x
MonteCarloE 10473 10316 -1.5% 1.02x
MonteCarloPi 42883 43083 +0.5% 1.00x
NSError 313 312 -0.3% 1.00x (?)
NSStringConversion 397 403 +1.5% 0.99x
ObjectAllocation 173 174 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23763 24253 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41607 42225 +1.5% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35227 36618 +3.9% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 144938 142450 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 149483 144845 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 70168 72755 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4770 4608 -3.4% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72129 75525 +4.7% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 78970 79900 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSString 961 969 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2040 2055 +0.7% 0.99x (?)
ObjectiveCBridgeStubDataAppend 3853 3738 -3.0% 1.03x (?)
ObjectiveCBridgeStubDateAccess 229 229 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 256 257 +0.4% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29700 28487 -4.1% 1.04x (?)
ObjectiveCBridgeStubFromNSDate 4250 4130 -2.8% 1.03x (?)
ObjectiveCBridgeStubFromNSDateRef 4555 4447 -2.4% 1.02x
ObjectiveCBridgeStubFromNSString 601 620 +3.2% 0.97x (?)
ObjectiveCBridgeStubFromNSStringRef 176 175 -0.6% 1.01x
ObjectiveCBridgeStubNSDataAppend 2656 2640 -0.6% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 13241 12900 -2.6% 1.03x (?)
ObjectiveCBridgeStubNSDateRefAccess 347 341 -1.7% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 30170 29327 -2.8% 1.03x (?)
ObjectiveCBridgeStubToNSDate 14968 14629 -2.3% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3335 3311 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSString 1416 1427 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 126 126 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 319200 319341 +0.0% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 325445 326570 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 29901 30172 +0.9% 0.99x (?)
ObjectiveCBridgeToNSDictionary 56300 57837 +2.7% 0.97x (?)
ObjectiveCBridgeToNSSet 46455 46673 +0.5% 1.00x (?)
ObjectiveCBridgeToNSString 1184 1198 +1.2% 0.99x (?)
ObserverClosure 2288 2312 +1.0% 0.99x (?)
ObserverForwarderStruct 1099 1104 +0.5% 1.00x (?)
ObserverPartiallyAppliedMethod 3779 3818 +1.0% 0.99x
ObserverUnappliedMethod 2654 2635 -0.7% 1.01x
OpenClose 5 5 +0.0% 1.00x
Phonebook 6721 6454 -4.0% 1.04x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1976 2003 +1.4% 0.99x (?)
PopFrontArrayGeneric 1976 2017 +2.1% 0.98x
PopFrontUnsafePointer 9538 9507 -0.3% 1.00x (?)
PrefixAnyCollection 75 76 +1.3% 0.99x
PrefixAnyCollectionLazy 73645 71580 -2.8% 1.03x
PrefixAnySeqCRangeIter 22430 21810 -2.8% 1.03x (?)
PrefixAnySeqCRangeIterLazy 22443 21836 -2.7% 1.03x (?)
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 5695 5627 -1.2% 1.01x
PrefixAnySequenceLazy 5688 5626 -1.1% 1.01x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1463 1459 -0.3% 1.00x
PrefixSequenceLazy 1483 1483 +0.0% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12772 12867 +0.7% 0.99x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 141 -0.7% 1.01x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 14040 14037 -0.0% 1.00x (?)
PrefixWhileAnySequenceLazy 1461 1462 +0.1% 1.00x (?)
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 392 388 -1.0% 1.01x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 740 739 -0.1% 1.00x (?)
PrimsSplit 741 740 -0.1% 1.00x (?)
ProtocolDispatch 3435 3434 -0.0% 1.00x
ProtocolDispatch2 175 178 +1.7% 0.98x
RC4 163 163 +0.0% 1.00x
RGBHistogram 2227 2236 +0.4% 1.00x (?)
RGBHistogramOfObjects 22388 22409 +0.1% 1.00x (?)
RangeAssignment 391 392 +0.3% 1.00x
RangeIterationSigned 200 200 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 171 171 +0.0% 1.00x
RecursiveOwnedParameter 2275 2275 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 27803 27857 +0.2% 1.00x (?)
ReversedDictionary 95 96 +1.1% 0.99x (?)
SetExclusiveOr 2902 2916 +0.5% 1.00x
SetExclusiveOr_OfObjects 8299 8300 +0.0% 1.00x (?)
SetIntersect 275 277 +0.7% 0.99x (?)
SetIntersect_OfObjects 1699 1699 +0.0% 1.00x
SetIsSubsetOf 282 282 +0.0% 1.00x
SetIsSubsetOf_OfObjects 346 346 +0.0% 1.00x
SetUnion 2534 2544 +0.4% 1.00x (?)
SetUnion_OfObjects 6894 6886 -0.1% 1.00x
SevenBoom 1639 1582 -3.5% 1.04x
Sim2DArray 603 603 +0.0% 1.00x
SortLargeExistentials 8167 8167 +0.0% 1.00x
SortLettersInPlace 1087 1085 -0.2% 1.00x
SortSortedStrings 1033 1003 -2.9% 1.03x
SortStrings 1865 1816 -2.6% 1.03x
StackPromo 22113 22284 +0.8% 0.99x (?)
StaticArray 6 6 +0.0% 1.00x
StrComplexWalk 1985 1983 -0.1% 1.00x
StrToInt 2139 2170 +1.4% 0.99x
StringAdder 3377 3381 +0.1% 1.00x (?)
StringBuilder 996 1010 +1.4% 0.99x
StringBuilderLong 924 922 -0.2% 1.00x (?)
StringEdits 135794 137213 +1.0% 0.99x
StringEnumRawValueInitialization 792 780 -1.5% 1.02x
StringFromLongWholeSubstring 182 180 -1.1% 1.01x (?)
StringFromLongWholeSubstringGeneric 22 21 -4.5% 1.05x
StringHasPrefix 17 17 +0.0% 1.00x
StringHasPrefixUnicode 17825 17997 +1.0% 0.99x (?)
StringHasSuffix 17 17 +0.0% 1.00x
StringHasSuffixUnicode 76353 78001 +2.2% 0.98x
StringInterpolation 10871 11098 +2.1% 0.98x
StringMatch 8501 8315 -2.2% 1.02x
StringUTF16Builder 1810 1851 +2.3% 0.98x
StringWalk 1603 1600 -0.2% 1.00x
StringWithCString 73262 74915 +2.3% 0.98x
SubstringEqualString 1420 1485 +4.6% 0.96x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 60 61 +1.7% 0.98x
SuffixAnyCollection 28 27 -3.6% 1.04x
SuffixAnyCollectionLazy 24488 23878 -2.5% 1.03x
SuffixAnySeqCRangeIter 5193 5183 -0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 5241 5242 +0.0% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 6722 6701 -0.3% 1.00x (?)
SuffixAnySequenceLazy 6767 6796 +0.4% 1.00x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 4952 4865 -1.8% 1.02x (?)
SuffixSequenceLazy 4680 4690 +0.2% 1.00x (?)
SumUsingReduceInto 102 102 +0.0% 1.00x
SuperChars 81501 85563 +5.0% 0.95x
TwoSum 925 929 +0.4% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 313 326 +4.2% 0.96x
Walsh 444 449 +1.1% 0.99x
XorLoop 379 391 +3.2% 0.97x (?)

Unoptimized (Onone)

Regression (30)
TEST OLD NEW DELTA SPEEDUP
CharIteration_chinese_unicodeScalars_Backwards 240184 284175 +18.3% 0.85x (?)
CharIteration_korean_unicodeScalars_Backwards 308644 360302 +16.7% 0.86x (?)
CharIteration_tweet_unicodeScalars_Backwards 629691 730818 +16.1% 0.86x
CharIteration_japanese_unicodeScalars_Backwards 381633 441695 +15.7% 0.86x (?)
CharIteration_ascii_unicodeScalars_Backwards 318595 367226 +15.3% 0.87x (?)
CharIteration_punctuated_unicodeScalars_Backwards 70409 80396 +14.2% 0.88x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 56190 64027 +13.9% 0.88x (?)
CharIndexing_japanese_unicodeScalars_Backwards 644283 727643 +12.9% 0.89x
CharIteration_russian_unicodeScalars_Backwards 268272 302955 +12.9% 0.89x
NSDictionaryCastToSwift 6472 7198 +11.2% 0.90x
SubstringEqualString 6737 7492 +11.2% 0.90x
CharIndexing_korean_unicodeScalars_Backwards 567684 629866 +11.0% 0.90x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 9122 10079 +10.5% 0.91x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37743 41670 +10.4% 0.91x
CStringShortAscii 8859 9764 +10.2% 0.91x
CharIndexing_punctuated_unicodeScalars_Backwards 121132 131972 +8.9% 0.92x
EqualSubstringSubstring 782 850 +8.7% 0.92x
CharIndexing_ascii_unicodeScalars_Backwards 568742 617742 +8.6% 0.92x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 92269 99878 +8.2% 0.92x
CharIteration_utf16_unicodeScalars_Backwards 391221 420607 +7.5% 0.93x
OpenClose 409 437 +6.8% 0.94x
CharIndexing_punctuatedJapanese_unicodeScalars 89343 95449 +6.8% 0.94x (?)
ReversedBidirectional 76067 81145 +6.7% 0.94x (?)
EqualSubstringString 671 715 +6.6% 0.94x
ObjectiveCBridgeToNSDictionary 57181 60781 +6.3% 0.94x
SuffixCountableRangeLazy 13517 14338 +6.1% 0.94x (?)
ArrayLiteral 1681 1782 +6.0% 0.94x
ObjectiveCBridgeFromNSArrayAnyObject 27867 29408 +5.5% 0.95x (?)
DropFirstCountableRangeLazy 40505 42722 +5.5% 0.95x (?)
PrefixCountableRangeLazy 40542 42725 +5.4% 0.95x
Improvement (13)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSDateRef 5740 4818 -16.1% 1.19x
ObjectiveCBridgeStubFromNSString 746 640 -14.2% 1.17x
ArrayOfPOD 855 775 -9.4% 1.10x
ArrayPlusEqualThreeElements 12045 10980 -8.8% 1.10x (?)
ErrorHandling 7333 6835 -6.8% 1.07x (?)
FrequenciesUsingReduceInto 9521 8899 -6.5% 1.07x
Dictionary2OfObjects 6525 6101 -6.5% 1.07x
ObjectiveCBridgeFromNSArrayAnyObjectForced 8199 7684 -6.3% 1.07x (?)
SuffixAnyCollectionLazy 53674 50383 -6.1% 1.07x (?)
PrefixCountableRange 349 328 -6.0% 1.06x
ArraySubscript 89187 84261 -5.5% 1.06x
ArrayOfGenericPOD 1645 1560 -5.2% 1.05x
DictionaryLiteral 9259 8817 -4.8% 1.05x (?)
No Changes (290)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4768 4770 +0.0% 1.00x (?)
AnyHashableWithAClass 82836 82285 -0.7% 1.01x (?)
Array2D 629016 631008 +0.3% 1.00x
ArrayAppend 4514 4734 +4.9% 0.95x
ArrayAppendArrayOfInt 810 813 +0.4% 1.00x (?)
ArrayAppendAscii 54753 54826 +0.1% 1.00x (?)
ArrayAppendFromGeneric 806 817 +1.4% 0.99x (?)
ArrayAppendGenericStructs 1437 1434 -0.2% 1.00x
ArrayAppendLatin1 77208 77463 +0.3% 1.00x (?)
ArrayAppendLazyMap 223970 224248 +0.1% 1.00x (?)
ArrayAppendOptionals 1406 1428 +1.6% 0.98x (?)
ArrayAppendRepeatCol 227747 232205 +2.0% 0.98x
ArrayAppendReserved 4481 4482 +0.0% 1.00x (?)
ArrayAppendSequence 78825 80309 +1.9% 0.98x
ArrayAppendStrings 15746 15232 -3.3% 1.03x (?)
ArrayAppendToFromGeneric 820 813 -0.9% 1.01x
ArrayAppendToGeneric 823 819 -0.5% 1.00x
ArrayAppendUTF16 77918 79520 +2.1% 0.98x
ArrayInClass 6175 6302 +2.1% 0.98x
ArrayOfGenericRef 9758 9780 +0.2% 1.00x (?)
ArrayOfRef 9043 9087 +0.5% 1.00x
ArrayPlusEqualArrayOfInt 823 817 -0.7% 1.01x
ArrayPlusEqualFiveElementCollection 306253 299629 -2.2% 1.02x (?)
ArrayPlusEqualSingleElementCollection 302399 305514 +1.0% 0.99x (?)
ArraySetElement 4613 4609 -0.1% 1.00x
ArrayValueProp 3393 3522 +3.8% 0.96x
ArrayValueProp2 18431 18433 +0.0% 1.00x (?)
ArrayValueProp3 3905 3991 +2.2% 0.98x
ArrayValueProp4 3854 3947 +2.4% 0.98x
BitCount 2157 2215 +2.7% 0.97x
ByteSwap 3983 3978 -0.1% 1.00x (?)
CStringLongAscii 5839 5877 +0.7% 0.99x (?)
CStringLongNonAscii 2526 2605 +3.1% 0.97x
Calculator 1238 1231 -0.6% 1.01x (?)
CaptureProp 125120 124311 -0.6% 1.01x
CharIndexing_ascii_unicodeScalars 512897 516031 +0.6% 0.99x (?)
CharIndexing_chinese_unicodeScalars 388187 383079 -1.3% 1.01x (?)
CharIndexing_chinese_unicodeScalars_Backwards 441737 440346 -0.3% 1.00x (?)
CharIndexing_japanese_unicodeScalars 614183 605675 -1.4% 1.01x (?)
CharIndexing_korean_unicodeScalars 495165 497159 +0.4% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 113631 111153 -2.2% 1.02x (?)
CharIndexing_russian_unicodeScalars 426957 425721 -0.3% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 485304 485812 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars 1033844 1007076 -2.6% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 1149410 1149088 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 536414 545332 +1.7% 0.98x (?)
CharIndexing_utf16_unicodeScalars_Backwards 589244 616010 +4.5% 0.96x (?)
CharIteration_ascii_unicodeScalars 180490 181270 +0.4% 1.00x
CharIteration_chinese_unicodeScalars 136532 137244 +0.5% 0.99x
CharIteration_japanese_unicodeScalars 216666 217214 +0.3% 1.00x
CharIteration_korean_unicodeScalars 175318 176092 +0.4% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32161 32272 +0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars 40388 40804 +1.0% 0.99x (?)
CharIteration_russian_unicodeScalars 150482 151457 +0.6% 0.99x
CharIteration_tweet_unicodeScalars 357086 357222 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 199238 199747 +0.3% 1.00x
CharacterLiteralsLarge 5918 6026 +1.8% 0.98x
CharacterLiteralsSmall 790 781 -1.1% 1.01x
Chars 48939 49241 +0.6% 0.99x
ClassArrayGetter 979 981 +0.2% 1.00x
DeadArray 110607 113139 +2.3% 0.98x (?)
Dictionary 3069 3048 -0.7% 1.01x (?)
Dictionary2 3533 3397 -3.8% 1.04x (?)
Dictionary3 1310 1319 +0.7% 0.99x (?)
Dictionary3OfObjects 2404 2348 -2.3% 1.02x (?)
DictionaryBridge 3832 3896 +1.7% 0.98x (?)
DictionaryGroup 5340 5279 -1.1% 1.01x
DictionaryGroupOfObjects 8094 8077 -0.2% 1.00x (?)
DictionaryOfObjects 6766 7039 +4.0% 0.96x (?)
DictionaryRemove 21898 21780 -0.5% 1.01x
DictionaryRemoveOfObjects 58814 57615 -2.0% 1.02x (?)
DictionarySwap 5175 5225 +1.0% 0.99x
DictionarySwapOfObjects 22752 22919 +0.7% 0.99x (?)
DropFirstAnyCollection 20136 20376 +1.2% 0.99x
DropFirstAnyCollectionLazy 151847 155800 +2.6% 0.97x
DropFirstAnySeqCRangeIter 30075 30611 +1.8% 0.98x
DropFirstAnySeqCRangeIterLazy 30444 30706 +0.9% 0.99x
DropFirstAnySeqCntRange 19985 20410 +2.1% 0.98x
DropFirstAnySeqCntRangeLazy 19953 20734 +3.9% 0.96x
DropFirstAnySequence 15812 15699 -0.7% 1.01x
DropFirstAnySequenceLazy 15732 15821 +0.6% 0.99x (?)
DropFirstArray 6004 6125 +2.0% 0.98x
DropFirstArrayLazy 44100 44036 -0.1% 1.00x (?)
DropFirstCountableRange 332 330 -0.6% 1.01x
DropFirstSequence 14631 14700 +0.5% 1.00x
DropFirstSequenceLazy 14985 14760 -1.5% 1.02x
DropLastAnyCollection 6767 6802 +0.5% 0.99x
DropLastAnyCollectionLazy 50757 50936 +0.4% 1.00x (?)
DropLastAnySeqCRangeIter 47186 46284 -1.9% 1.02x
DropLastAnySeqCRangeIterLazy 46306 46511 +0.4% 1.00x
DropLastAnySeqCntRange 6687 6800 +1.7% 0.98x
DropLastAnySeqCntRangeLazy 6675 6809 +2.0% 0.98x
DropLastAnySequence 34051 33898 -0.4% 1.00x
DropLastAnySequenceLazy 32776 32377 -1.2% 1.01x
DropLastArray 2008 2051 +2.1% 0.98x
DropLastArrayLazy 14644 15188 +3.7% 0.96x
DropLastCountableRange 116 115 -0.9% 1.01x
DropLastCountableRangeLazy 13550 14046 +3.7% 0.96x (?)
DropLastSequence 32062 32141 +0.2% 1.00x
DropLastSequenceLazy 32213 32112 -0.3% 1.00x
DropWhileAnyCollection 26008 26456 +1.7% 0.98x
DropWhileAnyCollectionLazy 28146 28642 +1.8% 0.98x
DropWhileAnySeqCRangeIter 32800 32878 +0.2% 1.00x
DropWhileAnySeqCRangeIterLazy 28259 28563 +1.1% 0.99x
DropWhileAnySeqCntRange 25978 26524 +2.1% 0.98x
DropWhileAnySeqCntRangeLazy 28165 28623 +1.6% 0.98x
DropWhileAnySequence 18613 18554 -0.3% 1.00x
DropWhileAnySequenceLazy 14722 14730 +0.1% 1.00x (?)
DropWhileArray 9721 9576 -1.5% 1.02x (?)
DropWhileArrayLazy 17311 17325 +0.1% 1.00x (?)
DropWhileCountableRange 6409 6484 +1.2% 0.99x
DropWhileCountableRangeLazy 27242 27421 +0.7% 0.99x
DropWhileSequence 17096 17580 +2.8% 0.97x
DropWhileSequenceLazy 13529 13534 +0.0% 1.00x (?)
EqualStringSubstring 704 717 +1.8% 0.98x (?)
EqualSubstringSubstringGenericEquatable 431 432 +0.2% 1.00x (?)
ExclusivityGlobal 188 194 +3.2% 0.97x
ExclusivityInMatSet 327 328 +0.3% 1.00x (?)
ExclusivityIndependent 126 126 +0.0% 1.00x
FilterEvenUsingReduce 4209 4222 +0.3% 1.00x
FilterEvenUsingReduceInto 2624 2746 +4.6% 0.96x
FrequenciesUsingReduce 16211 15912 -1.8% 1.02x (?)
Hanoi 19856 19701 -0.8% 1.01x (?)
HashTest 17448 17694 +1.4% 0.99x (?)
Histogram 9233 9097 -1.5% 1.01x (?)
Integrate 719 720 +0.1% 1.00x
IterateData 13250 13228 -0.2% 1.00x
Join 1500 1523 +1.5% 0.98x
LazilyFilteredArrays 1763176 1721616 -2.4% 1.02x
LazilyFilteredRange 688784 697419 +1.3% 0.99x
LessSubstringSubstring 780 784 +0.5% 0.99x (?)
LessSubstringSubstringGenericComparable 447 453 +1.3% 0.99x
LinkedList 39469 39917 +1.1% 0.99x
MapReduce 38915 38430 -1.2% 1.01x
MapReduceAnyCollection 38276 37737 -1.4% 1.01x
MapReduceAnyCollectionShort 51496 51659 +0.3% 1.00x (?)
MapReduceClass 43495 42716 -1.8% 1.02x
MapReduceClassShort 55055 55549 +0.9% 0.99x
MapReduceLazyCollection 33852 33908 +0.2% 1.00x
MapReduceLazyCollectionShort 44484 45388 +2.0% 0.98x (?)
MapReduceLazySequence 28986 29134 +0.5% 0.99x
MapReduceSequence 44763 44572 -0.4% 1.00x
MapReduceShort 50986 51842 +1.7% 0.98x
MapReduceShortString 301 295 -2.0% 1.02x (?)
MapReduceString 2708 2683 -0.9% 1.01x
Memset 44765 44771 +0.0% 1.00x (?)
MonteCarloE 958340 949881 -0.9% 1.01x
MonteCarloPi 4091362 4081904 -0.2% 1.00x
NSError 751 717 -4.5% 1.05x (?)
NSStringConversion 440 446 +1.4% 0.99x
NopDeinit 173441 177751 +2.5% 0.98x
ObjectAllocation 1521 1547 +1.7% 0.98x
ObjectiveCBridgeFromNSArrayAnyObjectToString 46181 47689 +3.3% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 144972 147008 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 130808 134270 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 148650 153938 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 79154 79112 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 8778 8569 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 84900 83062 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 89821 88397 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSString 4079 4080 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2413 2435 +0.9% 0.99x (?)
ObjectiveCBridgeStubDataAppend 4404 4595 +4.3% 0.96x (?)
ObjectiveCBridgeStubDateAccess 1108 1063 -4.1% 1.04x
ObjectiveCBridgeStubDateMutation 602 605 +0.5% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 27984 27512 -1.7% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 4417 4533 +2.6% 0.97x (?)
ObjectiveCBridgeStubFromNSStringRef 207 204 -1.4% 1.01x (?)
ObjectiveCBridgeStubNSDataAppend 3144 3110 -1.1% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15297 14955 -2.2% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 1282 1307 +2.0% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString 30074 31072 +3.3% 0.97x (?)
ObjectiveCBridgeStubToNSDate 15463 15041 -2.7% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3417 3389 -0.8% 1.01x (?)
ObjectiveCBridgeStubToNSString 1477 1489 +0.8% 0.99x
ObjectiveCBridgeStubToNSStringRef 158 159 +0.6% 0.99x (?)
ObjectiveCBridgeStubURLAppendPath 320172 332647 +3.9% 0.96x (?)
ObjectiveCBridgeStubURLAppendPathRef 339325 331447 -2.3% 1.02x (?)
ObjectiveCBridgeToNSArray 30236 30385 +0.5% 1.00x (?)
ObjectiveCBridgeToNSSet 49026 48996 -0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1234 1253 +1.5% 0.98x
ObserverClosure 6736 6697 -0.6% 1.01x (?)
ObserverForwarderStruct 4912 4909 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8105 8083 -0.3% 1.00x (?)
ObserverUnappliedMethod 8337 8340 +0.0% 1.00x (?)
Phonebook 22755 22912 +0.7% 0.99x
PolymorphicCalls 6641 6652 +0.2% 1.00x (?)
PopFrontArray 10825 10926 +0.9% 0.99x (?)
PopFrontArrayGeneric 9728 9778 +0.5% 0.99x (?)
PopFrontUnsafePointer 11235 11274 +0.3% 1.00x
PrefixAnyCollection 20135 20341 +1.0% 0.99x
PrefixAnyCollectionLazy 154622 158319 +2.4% 0.98x
PrefixAnySeqCRangeIter 23974 24643 +2.8% 0.97x
PrefixAnySeqCRangeIterLazy 24078 24516 +1.8% 0.98x (?)
PrefixAnySeqCntRange 20001 20398 +2.0% 0.98x
PrefixAnySeqCntRangeLazy 19954 20416 +2.3% 0.98x
PrefixAnySequence 13088 13034 -0.4% 1.00x
PrefixAnySequenceLazy 13177 13024 -1.2% 1.01x
PrefixArray 6003 6126 +2.0% 0.98x
PrefixArrayLazy 44140 44145 +0.0% 1.00x (?)
PrefixSequence 11857 12087 +1.9% 0.98x
PrefixSequenceLazy 11909 12128 +1.8% 0.98x
PrefixWhileAnyCollection 38025 38741 +1.9% 0.98x
PrefixWhileAnyCollectionLazy 22962 23356 +1.7% 0.98x
PrefixWhileAnySeqCRangeIter 42349 42315 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 23065 23408 +1.5% 0.99x
PrefixWhileAnySeqCntRange 38021 38813 +2.1% 0.98x
PrefixWhileAnySeqCntRangeLazy 23126 23257 +0.6% 0.99x
PrefixWhileAnySequence 32218 32400 +0.6% 0.99x
PrefixWhileAnySequenceLazy 13021 13179 +1.2% 0.99x
PrefixWhileArray 16655 16607 -0.3% 1.00x (?)
PrefixWhileArrayLazy 15128 15130 +0.0% 1.00x (?)
PrefixWhileCountableRange 18507 18748 +1.3% 0.99x
PrefixWhileCountableRangeLazy 22335 22608 +1.2% 0.99x
PrefixWhileSequence 30985 30980 -0.0% 1.00x (?)
PrefixWhileSequenceLazy 12398 12342 -0.5% 1.00x
Prims 10790 10827 +0.3% 1.00x
PrimsSplit 10633 10827 +1.8% 0.98x
ProtocolDispatch 8587 8589 +0.0% 1.00x (?)
ProtocolDispatch2 519 517 -0.4% 1.00x
RC4 17663 17786 +0.7% 0.99x
RGBHistogram 35599 35260 -1.0% 1.01x (?)
RGBHistogramOfObjects 106227 105390 -0.8% 1.01x (?)
RangeAssignment 5503 5471 -0.6% 1.01x (?)
RangeIterationSigned 17276 17141 -0.8% 1.01x
RangeIterationSigned64 50473 50006 -0.9% 1.01x (?)
RangeIterationUnsigned 45670 45923 +0.6% 0.99x
RecursiveOwnedParameter 10594 10793 +1.9% 0.98x
ReversedArray 44257 44067 -0.4% 1.00x
ReversedDictionary 28775 28756 -0.1% 1.00x (?)
SetExclusiveOr 23185 23356 +0.7% 0.99x
SetExclusiveOr_OfObjects 48741 47668 -2.2% 1.02x (?)
SetIntersect 12756 12933 +1.4% 0.99x
SetIntersect_OfObjects 12716 12435 -2.2% 1.02x (?)
SetIsSubsetOf 1861 1886 +1.3% 0.99x
SetIsSubsetOf_OfObjects 1507 1550 +2.9% 0.97x
SetUnion 11851 11963 +0.9% 0.99x
SetUnion_OfObjects 34370 33212 -3.4% 1.03x
SevenBoom 1753 1708 -2.6% 1.03x
Sim2DArray 43762 43788 +0.1% 1.00x (?)
SortLargeExistentials 17234 17417 +1.1% 0.99x
SortLettersInPlace 3105 3083 -0.7% 1.01x (?)
SortSortedStrings 1516 1453 -4.2% 1.04x
SortStrings 2680 2710 +1.1% 0.99x
SortStringsUnicode 9566 9948 +4.0% 0.96x
StackPromo 101446 100477 -1.0% 1.01x
StaticArray 5584 5812 +4.1% 0.96x
StrComplexWalk 7106 7123 +0.2% 1.00x
StrToInt 129054 134349 +4.1% 0.96x
StringAdder 3661 3649 -0.3% 1.00x (?)
StringBuilder 7042 7066 +0.3% 1.00x (?)
StringBuilderLong 1107 1091 -1.4% 1.01x (?)
StringEdits 432226 453092 +4.8% 0.95x
StringEnumRawValueInitialization 13857 13890 +0.2% 1.00x (?)
StringEqualPointerComparison 2834 2884 +1.8% 0.98x
StringFromLongWholeSubstring 209 207 -1.0% 1.01x (?)
StringFromLongWholeSubstringGeneric 217 216 -0.5% 1.00x (?)
StringHasPrefix 2247 2204 -1.9% 1.02x
StringHasPrefixUnicode 19018 19594 +3.0% 0.97x (?)
StringHasSuffix 2270 2306 +1.6% 0.98x
StringHasSuffixUnicode 79539 79465 -0.1% 1.00x (?)
StringInterpolation 14007 14112 +0.7% 0.99x
StringMatch 35121 35593 +1.3% 0.99x
StringUTF16Builder 7832 7865 +0.4% 1.00x (?)
StringWalk 13076 13086 +0.1% 1.00x
StringWithCString 70568 69510 -1.5% 1.02x
SubstringComparable 4195 4319 +3.0% 0.97x
SubstringEquatable 8318 8315 -0.0% 1.00x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 114 114 +0.0% 1.00x
SuffixAnyCollection 6835 6794 -0.6% 1.01x
SuffixAnySeqCRangeIter 43380 43724 +0.8% 0.99x
SuffixAnySeqCRangeIterLazy 43480 43816 +0.8% 0.99x
SuffixAnySeqCntRange 6683 6802 +1.8% 0.98x
SuffixAnySeqCntRangeLazy 6685 6813 +1.9% 0.98x
SuffixAnySequence 30137 30161 +0.1% 1.00x (?)
SuffixAnySequenceLazy 30134 30056 -0.3% 1.00x
SuffixArray 2011 2052 +2.0% 0.98x
SuffixArrayLazy 14687 14906 +1.5% 0.99x
SuffixCountableRange 116 115 -0.9% 1.01x (?)
SuffixSequence 29848 29887 +0.1% 1.00x (?)
SuffixSequenceLazy 29797 29688 -0.4% 1.00x
SumUsingReduce 224157 224869 +0.3% 1.00x
SumUsingReduceInto 225886 223057 -1.3% 1.01x
SuperChars 201475 195379 -3.0% 1.03x (?)
TwoSum 4397 4407 +0.2% 1.00x
TypeFlood 161 158 -1.9% 1.02x (?)
UTF8Decode 37776 37568 -0.6% 1.01x
Walsh 11949 12211 +2.2% 0.98x
XorLoop 23492 23782 +1.2% 0.99x
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

Only vtables of public classes should be serialized. And only entries for public or serialized methods should be serialized.
And remove all the code that is dead because of it.
@swiftix swiftix force-pushed the sil-serialize-all-improvments branch from f824999 to 06efb77 Compare October 5, 2017 22:53
@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please clean smoke test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please clean smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci please clean test

@swift-ci
Copy link
Contributor

swift-ci commented Oct 5, 2017

Build failed
Swift Test Linux Platform
Git Sha - f824999

@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci Please test source compatibility

@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@slavapestov The tests seem to pass finally, at least the smoke tests. OK to merge once the full tests are green? Or do we want to anything else to this PR?

@swiftix
Copy link
Contributor Author

swiftix commented Oct 5, 2017

@swift-ci Please test source compatibility

@swift-ci
Copy link
Contributor

swift-ci commented Oct 5, 2017

Build failed
Swift Test OS X Platform
Git Sha - f824999

@swiftix
Copy link
Contributor Author

swiftix commented Oct 6, 2017

@swift-ci please test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 6, 2017

@swift-ci please clean test

@slavapestov
Copy link
Contributor

Looks good to go!

@swiftix swiftix merged commit 111499d into swiftlang:master Oct 6, 2017
@jrose-apple
Copy link
Contributor

Looks like this is still causing problems somehow in https://ci.swift.org/job/oss-swift_tools-RA_stdlib-RD_test-simulator/180/, under optimized testing (something "please [clean] test" doesn't do). @swiftix, are you going to have time to look at this this morning or should I revert again?

@jrose-apple
Copy link
Contributor

Undefined symbols for architecture x86_64:
  "__T014StdlibUnittest15ResettableValueC5valuexvs", referenced from:
      __T04mainyycfU_ in main-7ebfb0.o
      __T04mainyycfU0_Tm in main-7ebfb0.o
      __T04mainyycfU2_ in main-7ebfb0.o
      __T04mainyycfU3_ in main-7ebfb0.o
      __T04mainyycfU4_ in main-7ebfb0.o
ld: symbol(s) not found for architecture x86_64

@jrose-apple
Copy link
Contributor

Or did you or Slava already get to it?

@swiftix
Copy link
Contributor Author

swiftix commented Oct 6, 2017

@jrose-apple I'll try to have a look

@swiftix
Copy link
Contributor Author

swiftix commented Oct 6, 2017

@jrose-apple I tried to reproduce locally using swift/utils/build-script --preset=buildbot,tools=RA,stdlib=RD, but I do not get this error. Something must be messed up on the bots.

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.

4 participants