Skip to content

Create fewer generic signature builders #12062

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 12 commits into from
Sep 23, 2017

Conversation

DougGregor
Copy link
Member

The GenericSignatureBuilder is slow, so instead of making it fast... build fewer of them!

  • Don't create a generic signature builder for non-generic members of generic types; re-use the parent's generic signature instead
  • Don't create a generic signature builder for extensions of generic types and protocols that don't add requirements; re-use the nominal type's generic signature instead
  • When we've created a generic signature builder and formed a generic signature from it, re-use that generic signature builder as the canonical generic signature builder

When type-checking a function or subscript that itself does not have generic
parameters (but is within a generic context), we were creating a generic
signature builder which will always produce the same generic signature as
the enclosing context. Stop creating that generic signature builder.

Instead, teach the CompleteGenericTypeResolver to use the generic signature
+ the canonical generic signature builder for that signature to resolve
types, which also eliminates some extraneous re-type-checking.

Improves type-checking performance of the standard library by 36%.
…ype.

An unconstrained extension will always have the same generic signature as the
nominal type it extends. Rather can constructing a new generic signature
builder to tell us that, just re-use the generic signature. Improves
type-checking performance of the standard library by 15%.
We had two similar loops that performed name lookup for nested types on a
potential archetype, so consolidate those into a single implementation on
the equivalence class itself.
The full state of the GSB isn’t all that useful for testing, creates a ton of noise and gets in the way of some cleanups we’d like to make in the interface.
Stop dumping it as part of `-debug-generic-signatures`.
Funnel all places where we create a generic signature builder to compute
the generic signature through a single entry point in the GSB
(`computeGenericSignature()`), and make `finalize` and `getGenericSignature`
private so no new uses crop up.

Tighten up the signature of `computeGenericSignature()` so it only works on
GSB rvalues, and ensure that all clients consider the GSB dead after that
point by clearing out the internal representation of the GSB.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

In my local testing, this cuts the time to type check the standard library down by a third.

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

1 similar comment
@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master smoketest

Regressions found (see below)

Debug

PR vs. head (debug)

PR vs. head, changed counters (debug)

name old new delta delta_pct
Result.Sema.NominalTypeLookupDirectCount 28092 142328 114236 406.65
ReactiveCocoa.Sema.NominalTypeLookupDirectCount 471832 2344214 1872382 396.83
ReactiveSwift.Sema.NominalTypeLookupDirectCount 13708 60094 46386 338.39
Alamofire.Sema.NominalTypeLookupDirectCount 470425 1849476 1379051 293.15
Kingfisher.Sema.NominalTypeLookupDirectCount 2326628 3644544 1317916 56.64
Result.AST.NumASTBytesAllocated 6304704 7462573 1157869 18.37
ReactiveCocoa.AST.NumInfixOperators 18 20 2 11.11
ReactiveCocoa.Sema.NumLazyGenericEnvironments 47444 52643 5199 10.96
ReactiveCocoa.Sema.NumDeclsDeserialized 257767 277302 19535 7.58
ReactiveSwift.Sema.NumLazyGenericEnvironments 2898 3082 184 6.35
ReactiveCocoa.AST.NumSourceLines 2160 2266 106 4.91
ReactiveCocoa.IRModule.NumIRInsts 43876 45863 1987 4.53
Result.Sema.NumLazyGenericEnvironments 3544 3698 154 4.35
ReactiveSwift.Sema.NumDeclsDeserialized 18145 18835 690 3.8
ReactiveCocoa.AST.NumASTBytesAllocated 200777057 207919445 7142388 3.56
ReactiveCocoa.IRModule.NumIRBasicBlocks 5611 5791 180 3.21
Alamofire.Sema.NumLazyGenericEnvironments 29755 30678 923 3.1
Result.Driver.ChildrenMaxRSS 225853440 232837120 6983680 3.09
Kingfisher.Sema.NumLazyGenericEnvironments 65552 67566 2014 3.07
Result.Sema.NumDeclsDeserialized 19992 20548 556 2.78
ReactiveCocoa.AST.NumDecls 197 202 5 2.54
ReactiveCocoa.Sema.NumTypesDeserialized 234266 240100 5834 2.49
ReactiveCocoa.AST.NumReferencedMemberNames 5613 5737 124 2.21
ReactiveCocoa.SILModule.NumSILGenFunctions 1283 1311 28 2.18
ReactiveCocoa.Sema.NumUnloadedLazyIterableDeclContexts 39354 40208 854 2.17
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 53373 54481 1108 2.08
ReactiveCocoa.AST.NumDependencies 1989 2028 39 1.96
ReactiveCocoa.AST.NumSourceBuffers 2601 2652 51 1.96
ReactiveCocoa.IRModule.NumIRNamedMetaData 153 156 3 1.96
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 4961 5056 95 1.91
ReactiveCocoa.AST.NumLoadedModules 1802 1836 34 1.89
ReactiveCocoa.AST.NumReferencedTopLevelNames 562 572 10 1.78
ReactiveCocoa.Sema.NumConstraintScopes 15743 16023 280 1.78
ReactiveCocoa.LLVM.NumLLVMBytesOutput 3178884 3234684 55800 1.76
ReactiveCocoa.AST.NumImportedExternalDefinitions 17583 17888 305 1.73
Kingfisher.Sema.NumDeclsDeserialized 404540 411412 6872 1.7
ReactiveCocoa.Sema.NumDeclsValidated 43567 44302 735 1.69
ReactiveCocoa.AST.NumPrecedenceGroups 60 61 1 1.67
ReactiveCocoa.Sema.NumFunctionsTypechecked 9926 10088 162 1.63
Alamofire.Sema.NumDeclsDeserialized 193862 196975 3113 1.61
ReactiveCocoa.AST.NumTotalClangImportedEntities 52669 53499 830 1.58
ReactiveCocoa.AST.NumUsedConformances 325 330 5 1.54
ReactiveCocoa.IRModule.NumIRFunctions 3489 3527 38 1.09
ReactiveSwift.Sema.NumTypesDeserialized 19204 19412 208 1.08
ReactiveCocoa.SILModule.NumSILOptFunctions 1944 1957 13 0.67
Alamofire.AST.NumASTBytesAllocated 119863072 120586415 723343 0.6
ReactiveCocoa.IRModule.NumIRValueSymbols 7336 7379 43 0.59
Kingfisher.AST.NumASTBytesAllocated 289210271 290876177 1665906 0.58
ReactiveSwift.Sema.NumLazyIterableDeclContexts 1572 1580 8 0.51
Result.Sema.NumTypesDeserialized 17245 17315 70 0.41
ReactiveCocoa.Sema.NumConformancesDeserialized 18734 18801 67 0.36
ReactiveCocoa.IRModule.NumIRGlobals 4879 4893 14 0.29
ReactiveSwift.Sema.NumUnloadedLazyIterableDeclContexts 746 748 2 0.27
Alamofire.Sema.NumConformancesDeserialized 31381 31462 81 0.26
ReactiveCocoa.Driver.ChildrenMaxRSS 263118848 263659520 540672 0.21
Alamofire.Sema.NumLazyIterableDeclContexts 20983 21019 36 0.17
Kingfisher.Sema.NumLazyIterableDeclContexts 53413 53487 74 0.14
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 5330 5336 6 0.11
Result.Sema.NumLazyIterableDeclContexts 2134 2136 2 0.09
Alamofire.Sema.NumUnloadedLazyIterableDeclContexts 12260 12267 7 0.06
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 2462 2463 1 0.04
Kingfisher.Sema.NumUnloadedLazyIterableDeclContexts 31949 31963 14 0.04
Result.Sema.NumDeclsValidated 1326 1324 -2 -0.15
Result.Sema.NumUnloadedLazyIterableDeclContexts 1313 1311 -2 -0.15
Kingfisher.AST.NumSourceLinesPerSecond 9944 9918 -26 -0.26
Alamofire.Sema.NumTypesDeserialized 158195 157640 -555 -0.35
Kingfisher.Sema.NumTypesDeserialized 340784 339037 -1747 -0.51
Alamofire.Sema.NumTypesValidated 14658 14335 -323 -2.2
ReactiveCocoa.SILModule.NumSILOptGlobalVariables 241 235 -6 -2.49
ReactiveCocoa.SILModule.NumSILOptWitnessTables 62 60 -2 -3.23
Alamofire.Sema.NumGenericSignatureBuilders 13983 13360 -623 -4.46
ReactiveCocoa.Sema.NumTypesValidated 21455 20418 -1037 -4.83
Result.Sema.NumGenericSignatureBuilders 958 910 -48 -5.01
ReactiveCocoa.Sema.NumGenericSignatureBuilders 25101 23758 -1343 -5.35
Kingfisher.Sema.NumGenericSignatureBuilders 32819 31053 -1766 -5.38
ReactiveSwift.Driver.ChildrenMaxRSS 246059008 230711296 -15347712 -6.24
Alamofire.Driver.ChildrenMaxRSS 206671872 192880640 -13791232 -6.67
ReactiveCocoa.SILModule.NumSILGenWitnessTables 41 38 -3 -7.32
Result.Sema.NumTypesValidated 624 576 -48 -7.69
ReactiveCocoa.AST.NumSourceLinesPerSecond 3906 3592 -314 -8.04
Kingfisher.Sema.NumTypesValidated 23354 21406 -1948 -8.34
ReactiveCocoa.SILModule.NumSILGenGlobalVariables 58 52 -6 -10.34
Alamofire.AST.NumSourceLinesPerSecond 6798 5962 -836 -12.3
ReactiveCocoa.IRModule.NumIRAliases 7 6 -1 -14.29
Kingfisher.Driver.ChildrenMaxRSS 405516288 326123520 -79392768 -19.58
Result.AST.NumSourceLinesPerSecond 1334 746 -588 -44.08

PR vs. head, changed timers (debug)

name old new delta delta_pct

PR vs. baseline (debug)

PR vs. baseline, changed counters (debug)

name old new delta delta_pct
Alamofire.Driver.ChildrenMaxRSS 160178176 192880640 32702464 20.42
Kingfisher.Driver.ChildrenMaxRSS 270966784 326123520 55156736 20.36
ReactiveSwift.Driver.ChildrenMaxRSS 201080832 230711296 29630464 14.74
Kingfisher.IRModule.NumIRGlobals 8465 9079 614 7.25
ReactiveCocoa.Driver.ChildrenMaxRSS 247894016 263659520 15765504 6.36
Kingfisher.Sema.NumConstraintScopes 299224 316766 17542 5.86
Alamofire.Sema.NumLazyGenericEnvironments 29624 30678 1054 3.56
Kingfisher.SILModule.NumSILOptFunctions 7508 7770 262 3.49
Alamofire.SILModule.NumSILOptFunctions 3897 4004 107 2.75
Kingfisher.Sema.NumLazyGenericEnvironments 65834 67566 1732 2.63
Kingfisher.IRModule.NumIRValueSymbols 14256 14506 250 1.75
Alamofire.Sema.NumDeclsDeserialized 193887 196975 3088 1.59
Alamofire.LLVM.NumLLVMBytesOutput 2998660 3034816 36156 1.21
Kingfisher.LLVM.NumLLVMBytesOutput 4714840 4768000 53160 1.13
Kingfisher.Sema.NumDeclsDeserialized 409158 411412 2254 0.55
Alamofire.AST.NumUsedConformances 435 436 1 0.23
Kingfisher.SILModule.NumSILGenFunctions 4186 4182 -4 -0.1
Alamofire.SILModule.NumSILGenFunctions 2463 2460 -3 -0.12
Alamofire.IRModule.NumIRGlobals 4765 4753 -12 -0.25
Alamofire.Sema.NumFunctionsTypechecked 5545 5454 -91 -1.64
Alamofire.Sema.NumTypesDeserialized 160268 157640 -2628 -1.64
Alamofire.IRModule.NumIRValueSymbols 8767 8537 -230 -2.62
Kingfisher.Sema.NumTypesDeserialized 349057 339037 -10020 -2.87
Kingfisher.IRModule.NumIRInsts 191952 184777 -7175 -3.74
Alamofire.IRModule.NumIRFunctions 5357 5146 -211 -3.94
Alamofire.Sema.NumGenericSignatureBuilders 14041 13360 -681 -4.85
Kingfisher.IRModule.NumIRFunctions 8166 7770 -396 -4.85
Alamofire.Sema.NumLazyIterableDeclContexts 22171 21019 -1152 -5.2
Kingfisher.IRModule.NumIRBasicBlocks 18918 17915 -1003 -5.3
Kingfisher.Sema.NumLazyIterableDeclContexts 56700 53487 -3213 -5.67
Alamofire.Sema.NumConstraintScopes 43672 41089 -2583 -5.91
Alamofire.AST.NumImportedExternalDefinitions 8503 7982 -521 -6.13
Kingfisher.Sema.NumFunctionsTypechecked 17534 16432 -1102 -6.28
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 5754 5336 -418 -7.26
Alamofire.IRModule.NumIRBasicBlocks 15117 13989 -1128 -7.46
Alamofire.IRModule.NumIRInsts 145727 134400 -11327 -7.77
Kingfisher.AST.NumImportedExternalDefinitions 28992 26636 -2356 -8.13
Kingfisher.Sema.NumGenericSignatureBuilders 33860 31053 -2807 -8.29
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 2712 2463 -249 -9.18
Alamofire.AST.NumTotalClangImportedEntities 27870 24791 -3079 -11.05
Kingfisher.AST.NumTotalClangImportedEntities 75080 65970 -9110 -12.13
Alamofire.Sema.NumTypesValidated 18294 14335 -3959 -21.64
Kingfisher.Sema.NumTypesValidated 27830 21406 -6424 -23.08
ReactiveCocoa.LLVM.NumLLVMBytesOutput 4788084 3234684 -1553400 -32.44
Kingfisher.Sema.NumDeclsValidated 125016 83066 -41950 -33.56
Alamofire.Sema.NumConformancesDeserialized 47410 31462 -15948 -33.64
Kingfisher.Sema.NumConformancesDeserialized 111869 70994 -40875 -36.54
Alamofire.Sema.NumDeclsValidated 61341 38708 -22633 -36.9
ReactiveCocoa.Sema.NumLazyGenericEnvironments 91258 52643 -38615 -42.31
ReactiveCocoa.Sema.NumDeclsDeserialized 502245 277302 -224943 -44.79
ReactiveCocoa.IRModule.NumIRGlobals 8940 4893 -4047 -45.27
ReactiveCocoa.Sema.NumFunctionsTypechecked 18516 10088 -8428 -45.52
ReactiveCocoa.IRModule.NumIRValueSymbols 13956 7379 -6577 -47.13
ReactiveCocoa.Sema.NumTypesDeserialized 454647 240100 -214547 -47.19
ReactiveCocoa.AST.NumTotalClangImportedEntities 101738 53499 -48239 -47.41
ReactiveCocoa.AST.NumImportedExternalDefinitions 34112 17888 -16224 -47.56
ReactiveCocoa.AST.NumLoadedModules 3536 1836 -1700 -48.08
ReactiveCocoa.IRModule.NumIRFunctions 6982 3527 -3455 -49.48
ReactiveCocoa.IRModule.NumIRBasicBlocks 11772 5791 -5981 -50.81
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 111342 54481 -56861 -51.07
ReactiveCocoa.SILModule.NumSILOptFunctions 4068 1957 -2111 -51.89
ReactiveCocoa.Sema.NumGenericSignatureBuilders 49758 23758 -26000 -52.25
ReactiveCocoa.AST.NumUsedConformances 704 330 -374 -53.13
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 10792 5056 -5736 -53.15
ReactiveCocoa.IRModule.NumIRInsts 100599 45863 -54736 -54.41
ReactiveCocoa.SILModule.NumSILGenFunctions 2904 1311 -1593 -54.86
ReactiveCocoa.Sema.NumTypesValidated 48832 20418 -28414 -58.19
ReactiveCocoa.Sema.NumDeclsValidated 106644 44302 -62342 -58.46
ReactiveCocoa.Sema.NumConstraintScopes 42990 16023 -26967 -62.73
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 7874 1562 -6312 -80.16
ReactiveCocoa.Sema.NumConformancesDeserialized 115943 18801 -97142 -83.78
ReactiveSwift.Sema.NumTypesDeserialized 256534 19412 -237122 -92.43
ReactiveSwift.Sema.NumDeclsDeserialized 294906 18835 -276071 -93.61
ReactiveSwift.Sema.NumLazyGenericEnvironments 49690 3082 -46608 -93.8
ReactiveSwift.AST.NumLoadedModules 880 40 -840 -95.45
ReactiveSwift.Sema.NumLazyIterableDeclContexts 39950 1580 -38370 -96.05
ReactiveSwift.SILModule.NumSILOptFunctions 6970 226 -6744 -96.76
ReactiveSwift.AST.NumTotalClangImportedEntities 24800 754 -24046 -96.96
ReactiveSwift.Sema.NumGenericSignatureBuilders 31212 868 -30344 -97.22
ReactiveSwift.Sema.NumConformancesDeserialized 88500 1596 -86904 -98.2
ReactiveSwift.AST.NumImportedExternalDefinitions 6446 0 -6446 -100.0
ReactiveSwift.AST.NumUsedConformances 730 0 -730 -100.0
ReactiveSwift.IRModule.NumIRBasicBlocks 21772 0 -21772 -100.0
ReactiveSwift.IRModule.NumIRFunctions 10821 0 -10821 -100.0
ReactiveSwift.IRModule.NumIRGlobals 10934 0 -10934 -100.0
ReactiveSwift.IRModule.NumIRInsts 326029 0 -326029 -100.0
ReactiveSwift.IRModule.NumIRValueSymbols 18075 0 -18075 -100.0
ReactiveSwift.LLVM.NumLLVMBytesOutput 8054228 0 -8054228 -100.0
ReactiveSwift.SILModule.NumSILGenFunctions 4833 0 -4833 -100.0
ReactiveSwift.Sema.NumConstraintScopes 41650 0 -41650 -100.0
ReactiveSwift.Sema.NumDeclsValidated 75348 0 -75348 -100.0
ReactiveSwift.Sema.NumFunctionsTypechecked 4538 0 -4538 -100.0
ReactiveSwift.Sema.NumTypesValidated 100510 0 -100510 -100.0

PR vs. baseline, changed timers (debug)

name old new delta delta_pct

Wmo-onone

PR vs. head (wmo-onone)

PR vs. head, changed counters (wmo-onone)

name old new delta delta_pct
Result.Sema.NominalTypeLookupDirectCount 29222 143374 114152 390.64
ReactiveCocoa.Sema.NominalTypeLookupDirectCount 145026 518028 373002 257.2
Alamofire.Sema.NominalTypeLookupDirectCount 122387 393843 271456 221.8
ReactiveSwift.Sema.NominalTypeLookupDirectCount 189330 515454 326124 172.25
Result.Sema.NumLazyGenericEnvironments 3154 3308 154 4.88
Result.Driver.ChildrenMaxRSS 250503168 262094848 11591680 4.63
ReactiveCocoa.Driver.ChildrenMaxRSS 509280256 527847424 18567168 3.65
Result.Sema.NumDeclsDeserialized 18488 19042 554 3.0
ReactiveCocoa.Sema.NumLazyGenericEnvironments 5832 6004 172 2.95
ReactiveSwift.Sema.NumLazyGenericEnvironments 4558 4680 122 2.68
Alamofire.Sema.NumLazyGenericEnvironments 2415 2475 60 2.48
Kingfisher.Sema.NominalTypeLookupDirectCount 701112 713234 12122 1.73
Result.AST.NumASTBytesAllocated 8275673 8400747 125074 1.51
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 676 682 6 0.89
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 824 830 6 0.73
Kingfisher.AST.NumSourceLinesPerSecond 1367 1376 9 0.66
Result.Sema.NumTypesDeserialized 15709 15785 76 0.48
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 349 350 1 0.29
ReactiveCocoa.Sema.NumDeclsDeserialized 40354 40424 70 0.17
Result.Sema.NumLazyIterableDeclContexts 1786 1788 2 0.11
ReactiveSwift.Sema.NumDeclsDeserialized 36516 36530 14 0.04
ReactiveSwift.AST.NumASTBytesAllocated 27522420 27531946 9526 0.03
Kingfisher.Sema.NumDeclsDeserialized 42329 42323 -6 -0.01
Alamofire.Sema.NumDeclsDeserialized 20347 20342 -5 -0.02
ReactiveCocoa.AST.NumASTBytesAllocated 30343790 30328842 -14948 -0.05
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3750 3748 -2 -0.05
Kingfisher.AST.NumASTBytesAllocated 51685652 51654948 -30704 -0.06
Kingfisher.Sema.NumLazyIterableDeclContexts 3480 3478 -2 -0.06
ReactiveSwift.Sema.NumLazyIterableDeclContexts 2778 2776 -2 -0.07
Kingfisher.Sema.NumLazyGenericEnvironments 4710 4706 -4 -0.08
Alamofire.AST.NumASTBytesAllocated 17173335 17158095 -15240 -0.09
Alamofire.Sema.NumLazyIterableDeclContexts 1609 1607 -2 -0.12
Kingfisher.Sema.NumUnloadedLazyIterableDeclContexts 1224 1222 -2 -0.16
ReactiveSwift.Sema.NumUnloadedLazyIterableDeclContexts 1261 1259 -2 -0.16
Result.Sema.NumUnloadedLazyIterableDeclContexts 1027 1025 -2 -0.19
ReactiveCocoa.Sema.NumUnloadedLazyIterableDeclContexts 1706 1702 -4 -0.23
Result.Sema.NumDeclsValidated 1474 1470 -4 -0.27
Alamofire.Sema.NumUnloadedLazyIterableDeclContexts 698 696 -2 -0.29
ReactiveSwift.Driver.ChildrenMaxRSS 553902080 552243200 -1658880 -0.3
ReactiveCocoa.Sema.NumTypesDeserialized 34834 34434 -400 -1.15
Kingfisher.Sema.NumTypesDeserialized 34278 33878 -400 -1.17
Alamofire.Sema.NumTypesDeserialized 16756 16537 -219 -1.31
ReactiveSwift.Sema.NumTypesDeserialized 30324 29912 -412 -1.36
Kingfisher.Driver.ChildrenMaxRSS 604979200 594251776 -10727424 -1.77
ReactiveSwift.AST.NumSourceLinesPerSecond 2890 2828 -62 -2.15
Alamofire.Sema.NumTypesValidated 1629 1592 -37 -2.27
Alamofire.AST.NumSourceLinesPerSecond 929 906 -23 -2.48
Result.AST.NumSourceLinesPerSecond 530 513 -17 -3.21
Alamofire.Driver.ChildrenMaxRSS 336453632 322670592 -13783040 -4.1
ReactiveCocoa.AST.NumSourceLinesPerSecond 1208 1155 -53 -4.39
Alamofire.Sema.NumGenericSignatureBuilders 1546 1472 -74 -4.79
Result.Sema.NumTypesValidated 1054 990 -64 -6.07
Result.Sema.NumGenericSignatureBuilders 952 890 -62 -6.51
Kingfisher.Sema.NumGenericSignatureBuilders 3864 3582 -282 -7.3
ReactiveCocoa.Sema.NumTypesValidated 2570 2372 -198 -7.7
ReactiveSwift.Sema.NumTypesValidated 25590 23618 -1972 -7.71
Kingfisher.Sema.NumTypesValidated 3046 2740 -306 -10.05
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3556 3198 -358 -10.07
ReactiveSwift.Sema.NumGenericSignatureBuilders 4298 3112 -1186 -27.59

PR vs. head, changed timers (wmo-onone)

name old new delta delta_pct

PR vs. baseline (wmo-onone)

PR vs. baseline, changed counters (wmo-onone)

name old new delta delta_pct
Alamofire.AST.NumUsedConformances 0 436 436 100.0
Alamofire.IRModule.NumIRBasicBlocks 0 14093 14093 100.0
Alamofire.IRModule.NumIRFunctions 0 5113 5113 100.0
Alamofire.IRModule.NumIRGlobals 0 4605 4605 100.0
Alamofire.IRModule.NumIRInsts 0 130883 130883 100.0
Alamofire.IRModule.NumIRValueSymbols 0 8385 8385 100.0
Alamofire.LLVM.NumLLVMBytesOutput 0 3080020 3080020 100.0
Kingfisher.AST.NumUsedConformances 0 858 858 100.0
Kingfisher.IRModule.NumIRBasicBlocks 0 17939 17939 100.0
Kingfisher.IRModule.NumIRFunctions 0 7564 7564 100.0
Kingfisher.IRModule.NumIRGlobals 0 8967 8967 100.0
Kingfisher.IRModule.NumIRInsts 0 182871 182871 100.0
Kingfisher.IRModule.NumIRValueSymbols 0 14654 14654 100.0
Kingfisher.LLVM.NumLLVMBytesOutput 0 5111952 5111952 100.0
ReactiveCocoa.AST.NumUsedConformances 0 704 704 100.0
ReactiveCocoa.IRModule.NumIRBasicBlocks 0 10243 10243 100.0
ReactiveCocoa.IRModule.NumIRFunctions 0 6630 6630 100.0
ReactiveCocoa.IRModule.NumIRGlobals 0 9288 9288 100.0
ReactiveCocoa.IRModule.NumIRInsts 0 94342 94342 100.0
ReactiveCocoa.IRModule.NumIRValueSymbols 0 14444 14444 100.0
ReactiveCocoa.LLVM.NumLLVMBytesOutput 0 8889496 8889496 100.0
ReactiveSwift.AST.NumUsedConformances 0 736 736 100.0
ReactiveSwift.IRModule.NumIRBasicBlocks 0 19020 19020 100.0
ReactiveSwift.IRModule.NumIRFunctions 0 10461 10461 100.0
ReactiveSwift.IRModule.NumIRGlobals 0 12284 12284 100.0
ReactiveSwift.IRModule.NumIRInsts 0 312098 312098 100.0
ReactiveSwift.IRModule.NumIRValueSymbols 0 20223 20223 100.0
ReactiveSwift.LLVM.NumLLVMBytesOutput 0 8386724 8386724 100.0
Kingfisher.Driver.ChildrenMaxRSS 469618688 594251776 124633088 26.54
ReactiveSwift.Driver.ChildrenMaxRSS 451407872 552243200 100835328 22.34
ReactiveCocoa.Driver.ChildrenMaxRSS 432025600 527847424 95821824 22.18
Alamofire.Driver.ChildrenMaxRSS 270950400 322670592 51720192 19.09
Alamofire.AST.NumTotalClangImportedEntities 2774 3069 295 10.63
Kingfisher.AST.NumTotalClangImportedEntities 8884 9538 654 7.36
Kingfisher.Sema.NumConstraintScopes 282182 301076 18894 6.7
ReactiveCocoa.AST.NumTotalClangImportedEntities 7088 7258 170 2.4
ReactiveCocoa.Sema.NumLazyGenericEnvironments 5924 6004 80 1.35
ReactiveSwift.Sema.NumLazyGenericEnvironments 4622 4680 58 1.25
Alamofire.Sema.NumLazyGenericEnvironments 2454 2475 21 0.86
Kingfisher.AST.NumImportedExternalDefinitions 3372 3368 -4 -0.12
ReactiveSwift.SILModule.NumSILGenFunctions 3763 3757 -6 -0.16
Alamofire.AST.NumImportedExternalDefinitions 883 881 -2 -0.23
ReactiveSwift.Sema.NumFunctionsTypechecked 1990 1976 -14 -0.7
Alamofire.SILModule.NumSILGenFunctions 1948 1933 -15 -0.77
ReactiveSwift.SILModule.NumSILOptFunctions 4342 4292 -50 -1.15
Kingfisher.SILModule.NumSILGenFunctions 3186 3146 -40 -1.26
Kingfisher.Sema.NumLazyGenericEnvironments 4768 4706 -62 -1.3
Kingfisher.Sema.NumDeclsDeserialized 42943 42323 -620 -1.44
ReactiveCocoa.Sema.NumDeclsDeserialized 41130 40424 -706 -1.72
Alamofire.Sema.NumDeclsDeserialized 20724 20342 -382 -1.84
Alamofire.SILModule.NumSILOptFunctions 2206 2157 -49 -2.22
ReactiveSwift.Sema.NumDeclsDeserialized 37374 36530 -844 -2.26
Kingfisher.SILModule.NumSILOptFunctions 4252 4152 -100 -2.35
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3850 3748 -102 -2.65
Kingfisher.Sema.NumTypesDeserialized 35018 33878 -1140 -3.26
ReactiveCocoa.SILModule.NumSILGenFunctions 1985 1917 -68 -3.43
Kingfisher.Sema.NumLazyIterableDeclContexts 3602 3478 -124 -3.44
ReactiveCocoa.Sema.NumTypesDeserialized 35673 34434 -1239 -3.47
Alamofire.Sema.NumTypesDeserialized 17157 16537 -620 -3.61
Alamofire.Sema.NumGenericSignatureBuilders 1528 1472 -56 -3.66
Alamofire.Sema.NumLazyIterableDeclContexts 1672 1607 -65 -3.89
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 365 350 -15 -4.11
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 866 830 -36 -4.16
ReactiveSwift.Sema.NumTypesDeserialized 31307 29912 -1395 -4.46
ReactiveCocoa.SILModule.NumSILOptFunctions 2405 2292 -113 -4.7
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 840 798 -42 -5.0
ReactiveSwift.Sema.NumLazyIterableDeclContexts 2924 2776 -148 -5.06
Alamofire.Sema.NumConstraintScopes 38683 36256 -2427 -6.27
Kingfisher.Sema.NumGenericSignatureBuilders 3834 3582 -252 -6.57
ReactiveSwift.Sema.NumConstraintScopes 38598 35920 -2678 -6.94
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 734 682 -52 -7.08
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3534 3198 -336 -9.51
ReactiveSwift.Sema.NumTypesValidated 26292 23618 -2674 -10.17
ReactiveCocoa.Sema.NumConstraintScopes 23810 21222 -2588 -10.87
ReactiveSwift.Sema.NumConformancesDeserialized 22922 19708 -3214 -14.02
ReactiveSwift.AST.NumImportedExternalDefinitions 596 512 -84 -14.09
Kingfisher.Sema.NumConformancesDeserialized 24122 20436 -3686 -15.28
Alamofire.Sema.NumConformancesDeserialized 11914 9947 -1967 -16.51
ReactiveCocoa.Sema.NumConformancesDeserialized 18306 15206 -3100 -16.93
Alamofire.Sema.NumTypesValidated 1973 1592 -381 -19.31
ReactiveSwift.AST.NumTotalClangImportedEntities 2240 1658 -582 -25.98
Kingfisher.Sema.NumTypesValidated 3756 2740 -1016 -27.05
ReactiveSwift.Sema.NumGenericSignatureBuilders 4280 3112 -1168 -27.29
ReactiveCocoa.Sema.NumTypesValidated 4034 2372 -1662 -41.2
ReactiveCocoa.Sema.NumDeclsValidated 20206 10966 -9240 -45.73
Kingfisher.Sema.NumDeclsValidated 35702 14416 -21286 -59.62
Alamofire.Sema.NumDeclsValidated 17283 6831 -10452 -60.48
ReactiveSwift.Sema.NumDeclsValidated 28656 9610 -19046 -66.46

PR vs. baseline, changed timers (wmo-onone)

name old new delta delta_pct

Release

PR vs. head (release)

PR vs. head, changed counters (release)

name old new delta delta_pct
Result.Sema.NominalTypeLookupDirectCount 37176 184062 146886 395.11
ReactiveCocoa.Sema.NominalTypeLookupDirectCount 160776 569040 408264 253.93
Alamofire.Sema.NominalTypeLookupDirectCount 150297 458838 308541 205.29
ReactiveSwift.Sema.NominalTypeLookupDirectCount 257746 630644 372898 144.68
Kingfisher.Sema.NominalTypeLookupDirectCount 741984 794937 52953 7.14
Kingfisher.Driver.ChildrenMaxRSS 762867712 793006080 30138368 3.95
Kingfisher.AST.NumSourceLinesPerSecond 522 542 20 3.83
Result.Sema.NumLazyGenericEnvironments 3940 4086 146 3.71
ReactiveCocoa.Sema.NumLazyGenericEnvironments 6048 6202 154 2.55
ReactiveCocoa.Driver.ChildrenMaxRSS 560963584 574705664 13742080 2.45
ReactiveSwift.Sema.NumLazyGenericEnvironments 5038 5156 118 2.34
Result.Sema.NumDeclsDeserialized 23176 23716 540 2.33
Alamofire.Sema.NumLazyGenericEnvironments 2706 2765 59 2.18
ReactiveSwift.Driver.ChildrenMaxRSS 708128768 720551936 12423168 1.75
Result.AST.NumASTBytesAllocated 8274965 8400039 125074 1.51
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 686 692 6 0.87
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 850 856 6 0.71
Result.Sema.NumUnloadedLazyIterableDeclContexts 1138 1142 4 0.35
Result.Sema.NumLazyIterableDeclContexts 1994 2000 6 0.3
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 364 365 1 0.27
ReactiveSwift.AST.NumASTBytesAllocated 27519664 27529190 9526 0.03
ReactiveSwift.Sema.NumDeclsDeserialized 44132 44138 6 0.01
Alamofire.Sema.NumDeclsDeserialized 24340 24334 -6 -0.02
Kingfisher.Sema.NumDeclsDeserialized 48406 48398 -8 -0.02
ReactiveCocoa.AST.NumASTBytesAllocated 30337130 30322182 -14948 -0.05
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3794 3792 -2 -0.05
Kingfisher.AST.NumASTBytesAllocated 51682576 51651872 -30704 -0.06
Kingfisher.Sema.NumLazyIterableDeclContexts 3541 3539 -2 -0.06
Kingfisher.Sema.NumLazyGenericEnvironments 4982 4978 -4 -0.08
Alamofire.AST.NumASTBytesAllocated 17171989 17156749 -15240 -0.09
Alamofire.Sema.NumLazyIterableDeclContexts 1663 1661 -2 -0.12
ReactiveCocoa.Sema.NumUnloadedLazyIterableDeclContexts 1693 1691 -2 -0.12
ReactiveSwift.Sema.NumLazyIterableDeclContexts 2871 2867 -4 -0.14
Kingfisher.Sema.NumUnloadedLazyIterableDeclContexts 1192 1190 -2 -0.17
Result.Sema.NumDeclsValidated 1474 1470 -4 -0.27
Alamofire.Sema.NumUnloadedLazyIterableDeclContexts 683 681 -2 -0.29
ReactiveSwift.Sema.NumUnloadedLazyIterableDeclContexts 1229 1225 -4 -0.33
Result.Sema.NumTypesDeserialized 20695 20627 -68 -0.33
Result.Driver.ChildrenMaxRSS 296411136 293879808 -2531328 -0.85
Alamofire.AST.NumSourceLinesPerSecond 332 329 -3 -0.9
Kingfisher.Sema.NumTypesDeserialized 45297 44861 -436 -0.96
Alamofire.Sema.NumTypesDeserialized 23262 23027 -235 -1.01
ReactiveSwift.Sema.NumTypesDeserialized 40045 39611 -434 -1.08
ReactiveSwift.AST.NumSourceLinesPerSecond 872 862 -10 -1.15
ReactiveCocoa.Sema.NumTypesDeserialized 39136 38660 -476 -1.22
ReactiveCocoa.AST.NumSourceLinesPerSecond 520 511 -9 -1.73
Alamofire.Sema.NumTypesValidated 1629 1592 -37 -2.27
Result.AST.NumSourceLinesPerSecond 298 289 -9 -3.02
Alamofire.Driver.ChildrenMaxRSS 416092160 399773696 -16318464 -3.92
Alamofire.Sema.NumGenericSignatureBuilders 1612 1538 -74 -4.59
Result.Sema.NumTypesValidated 1054 990 -64 -6.07
Result.Sema.NumGenericSignatureBuilders 998 936 -62 -6.21
Kingfisher.Sema.NumGenericSignatureBuilders 3947 3665 -282 -7.14
ReactiveCocoa.Sema.NumTypesValidated 2570 2372 -198 -7.7
ReactiveSwift.Sema.NumTypesValidated 25590 23618 -1972 -7.71
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3642 3284 -358 -9.83
Kingfisher.Sema.NumTypesValidated 3046 2740 -306 -10.05
ReactiveSwift.Sema.NumGenericSignatureBuilders 4386 3200 -1186 -27.04

PR vs. head, changed timers (release)

name old new delta delta_pct

PR vs. baseline (release)

PR vs. baseline, changed counters (release)

name old new delta delta_pct
Alamofire.AST.NumUsedConformances 0 436 436 100.0
Alamofire.IRModule.NumIRBasicBlocks 0 15826 15826 100.0
Alamofire.IRModule.NumIRFunctions 0 3616 3616 100.0
Alamofire.IRModule.NumIRGlobals 0 4527 4527 100.0
Alamofire.IRModule.NumIRInsts 0 117715 117715 100.0
Alamofire.IRModule.NumIRValueSymbols 0 7011 7011 100.0
Alamofire.LLVM.NumLLVMBytesOutput 0 3369960 3369960 100.0
Kingfisher.AST.NumUsedConformances 0 858 858 100.0
Kingfisher.IRModule.NumIRBasicBlocks 0 22773 22773 100.0
Kingfisher.IRModule.NumIRFunctions 0 5809 5809 100.0
Kingfisher.IRModule.NumIRGlobals 0 8680 8680 100.0
Kingfisher.IRModule.NumIRInsts 0 170817 170817 100.0
Kingfisher.IRModule.NumIRValueSymbols 0 12885 12885 100.0
Kingfisher.LLVM.NumLLVMBytesOutput 0 5802768 5802768 100.0
ReactiveCocoa.AST.NumUsedConformances 0 704 704 100.0
ReactiveCocoa.IRModule.NumIRBasicBlocks 0 8765 8765 100.0
ReactiveCocoa.IRModule.NumIRFunctions 0 4872 4872 100.0
ReactiveCocoa.IRModule.NumIRGlobals 0 8506 8506 100.0
ReactiveCocoa.IRModule.NumIRInsts 0 66760 66760 100.0
ReactiveCocoa.IRModule.NumIRValueSymbols 0 12112 12112 100.0
ReactiveCocoa.LLVM.NumLLVMBytesOutput 0 8761360 8761360 100.0
ReactiveSwift.AST.NumUsedConformances 0 736 736 100.0
ReactiveSwift.IRModule.NumIRBasicBlocks 0 22135 22135 100.0
ReactiveSwift.IRModule.NumIRFunctions 0 10256 10256 100.0
ReactiveSwift.IRModule.NumIRGlobals 0 11762 11762 100.0
ReactiveSwift.IRModule.NumIRInsts 0 262613 262613 100.0
ReactiveSwift.IRModule.NumIRValueSymbols 0 19698 19698 100.0
ReactiveSwift.LLVM.NumLLVMBytesOutput 0 9845512 9845512 100.0
Kingfisher.Driver.ChildrenMaxRSS 701317120 793006080 91688960 13.07
Alamofire.AST.NumTotalClangImportedEntities 2918 3240 322 11.03
ReactiveSwift.Driver.ChildrenMaxRSS 660402176 720551936 60149760 9.11
Kingfisher.AST.NumTotalClangImportedEntities 9088 9788 700 7.7
Kingfisher.Sema.NumConstraintScopes 282182 301076 18894 6.7
ReactiveCocoa.Driver.ChildrenMaxRSS 540602368 574705664 34103296 6.31
ReactiveCocoa.AST.NumTotalClangImportedEntities 7264 7434 170 2.34
ReactiveSwift.Sema.NumLazyGenericEnvironments 5068 5156 88 1.74
ReactiveCocoa.Sema.NumLazyGenericEnvironments 6122 6202 80 1.31
Alamofire.Driver.ChildrenMaxRSS 395132928 399773696 4640768 1.17
Alamofire.Sema.NumLazyGenericEnvironments 2741 2765 24 0.88
ReactiveSwift.SILModule.NumSILGenFunctions 3755 3757 2 0.05
Alamofire.SILModule.NumSILGenFunctions 1861 1860 -1 -0.05
ReactiveCocoa.SILModule.NumSILGenFunctions 1917 1915 -2 -0.1
Kingfisher.AST.NumImportedExternalDefinitions 3372 3368 -4 -0.12
Alamofire.AST.NumImportedExternalDefinitions 883 881 -2 -0.23
ReactiveSwift.Sema.NumFunctionsTypechecked 1990 1976 -14 -0.7
Kingfisher.Sema.NumDeclsDeserialized 48862 48398 -464 -0.95
Kingfisher.Sema.NumLazyGenericEnvironments 5036 4978 -58 -1.15
Alamofire.SILModule.NumSILOptFunctions 2984 2948 -36 -1.21
ReactiveSwift.SILModule.NumSILOptFunctions 6852 6762 -90 -1.31
ReactiveCocoa.Sema.NumDeclsDeserialized 42755 42072 -683 -1.6
ReactiveSwift.Sema.NumDeclsDeserialized 44912 44138 -774 -1.72
Alamofire.Sema.NumDeclsDeserialized 24763 24334 -429 -1.73
Kingfisher.SILModule.NumSILOptFunctions 5715 5608 -107 -1.87
ReactiveCocoa.SILModule.NumSILOptFunctions 2915 2849 -66 -2.26
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3896 3792 -104 -2.67
ReactiveCocoa.Sema.NumTypesDeserialized 39816 38660 -1156 -2.9
Kingfisher.Sema.NumTypesDeserialized 46220 44861 -1359 -2.94
Alamofire.Sema.NumTypesDeserialized 23772 23027 -745 -3.13
Kingfisher.Sema.NumLazyIterableDeclContexts 3664 3539 -125 -3.41
ReactiveSwift.Sema.NumTypesDeserialized 41015 39611 -1404 -3.42
Alamofire.Sema.NumGenericSignatureBuilders 1595 1538 -57 -3.57
Alamofire.Sema.NumLazyIterableDeclContexts 1724 1661 -63 -3.65
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 898 856 -42 -4.68
ReactiveSwift.Sema.NumLazyIterableDeclContexts 3012 2867 -145 -4.81
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 385 365 -20 -5.19
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 882 830 -52 -5.9
Alamofire.Sema.NumConstraintScopes 38683 36256 -2427 -6.27
Kingfisher.Sema.NumGenericSignatureBuilders 3925 3665 -260 -6.62
ReactiveSwift.Sema.NumConstraintScopes 38598 35920 -2678 -6.94
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 756 692 -64 -8.47
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3612 3284 -328 -9.08
ReactiveSwift.Sema.NumConformancesDeserialized 30973 27855 -3118 -10.07
ReactiveSwift.Sema.NumTypesValidated 26292 23618 -2674 -10.17
ReactiveCocoa.Sema.NumConstraintScopes 23810 21222 -2588 -10.87
Kingfisher.Sema.NumConformancesDeserialized 35107 31233 -3874 -11.03
Alamofire.Sema.NumConformancesDeserialized 18728 16570 -2158 -11.52
ReactiveCocoa.Sema.NumConformancesDeserialized 24520 21416 -3104 -12.66
ReactiveSwift.AST.NumImportedExternalDefinitions 596 512 -84 -14.09
Alamofire.Sema.NumTypesValidated 1973 1592 -381 -19.31
ReactiveSwift.AST.NumTotalClangImportedEntities 2674 2114 -560 -20.94
Kingfisher.Sema.NumTypesValidated 3756 2740 -1016 -27.05
ReactiveSwift.Sema.NumGenericSignatureBuilders 4390 3200 -1190 -27.11
ReactiveCocoa.Sema.NumTypesValidated 4034 2372 -1662 -41.2
ReactiveCocoa.Sema.NumDeclsValidated 20206 10966 -9240 -45.73
Kingfisher.Sema.NumDeclsValidated 35702 14416 -21286 -59.62
Alamofire.Sema.NumDeclsValidated 17283 6831 -10452 -60.48
ReactiveSwift.Sema.NumDeclsValidated 28656 9610 -19046 -66.46

PR vs. baseline, changed timers (release)

name old new delta delta_pct
Last baseline commit on smoketest-master-debug.csv
commit 4de0b8570ecc3a81748350219435c85f1060ac16
Author: Graydon Hoare 
Date:   Tue Sep 19 00:18:10 2017 -0700

    Add smoketest cperf-baselines for Xcode 9.0 GM 9A235

Last baseline commit on smoketest-master-wmo-onone.csv

commit 4de0b8570ecc3a81748350219435c85f1060ac16
Author: Graydon Hoare 
Date:   Tue Sep 19 00:18:10 2017 -0700

    Add smoketest cperf-baselines for Xcode 9.0 GM 9A235

Last baseline commit on smoketest-master-release.csv

commit 4de0b8570ecc3a81748350219435c85f1060ac16
Author: Graydon Hoare 
Date:   Tue Sep 19 00:18:10 2017 -0700

    Add smoketest cperf-baselines for Xcode 9.0 GM 9A235


@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master smoketest

Regressions found (see below)

Debug

PR vs. head (debug)

PR vs. head, changed counters (debug)

name old new delta delta_pct
Result.Sema.NominalTypeLookupDirectCount 28092 141268 113176 402.88
ReactiveCocoa.Sema.NominalTypeLookupDirectCount 465177 2330429 1865252 400.98
ReactiveSwift.Sema.NominalTypeLookupDirectCount 13708 55346 41638 303.75
Alamofire.Sema.NominalTypeLookupDirectCount 470425 1825064 1354639 287.96
Kingfisher.Sema.NominalTypeLookupDirectCount 2326628 3263837 937209 40.28
ReactiveCocoa.IRModule.NumIRAliases 6 7 1 16.67
ReactiveCocoa.Sema.NumLazyGenericEnvironments 46342 53105 6763 14.59
Kingfisher.Driver.ChildrenMaxRSS 332136448 372596736 40460288 12.18
ReactiveCocoa.SILModule.NumSILGenGlobalVariables 52 58 6 11.54
ReactiveCocoa.Sema.NumDeclsDeserialized 252781 280128 27347 10.82
ReactiveSwift.Driver.ChildrenMaxRSS 245035008 264626176 19591168 8.0
ReactiveCocoa.SILModule.NumSILGenWitnessTables 38 41 3 7.89
ReactiveCocoa.SILModule.NumSILOptWitnessTables 60 64 4 6.67
ReactiveSwift.Sema.NumLazyGenericEnvironments 2898 3082 184 6.35
ReactiveCocoa.AST.NumASTBytesAllocated 197693054 209929958 12236904 6.19
ReactiveCocoa.Sema.NumTypesDeserialized 229234 242756 13522 5.9
Result.Driver.ChildrenMaxRSS 230928384 244371456 13443072 5.82
ReactiveCocoa.AST.NumPrecedenceGroups 59 62 3 5.08
ReactiveCocoa.Sema.NumConformancesDeserialized 18269 19161 892 4.88
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 52547 54857 2310 4.4
Result.Sema.NumLazyGenericEnvironments 3544 3698 154 4.35
ReactiveCocoa.AST.NumUsedConformances 323 337 14 4.33
ReactiveCocoa.IRModule.NumIRGlobals 4787 4986 199 4.16
ReactiveCocoa.Sema.NumUnloadedLazyIterableDeclContexts 38783 40381 1598 4.12
ReactiveCocoa.AST.NumDecls 198 206 8 4.04
ReactiveCocoa.IRModule.NumIRValueSymbols 7204 7494 290 4.03
ReactiveCocoa.AST.NumDependencies 1950 2028 78 4.0
ReactiveCocoa.AST.NumSourceBuffers 2550 2652 102 4.0
ReactiveCocoa.IRModule.NumIRNamedMetaData 150 156 6 4.0
ReactiveCocoa.AST.NumReferencedTopLevelNames 560 582 22 3.93
ReactiveCocoa.Driver.ChildrenMaxRSS 263618560 273788928 10170368 3.86
ReactiveCocoa.AST.NumLoadedModules 1768 1836 68 3.85
ReactiveSwift.Sema.NumDeclsDeserialized 18145 18835 690 3.8
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 4877 5062 185 3.79
ReactiveCocoa.AST.NumTotalClangImportedEntities 52205 54136 1931 3.7
ReactiveCocoa.IRModule.NumIRFunctions 3443 3569 126 3.66
ReactiveCocoa.AST.NumImportedExternalDefinitions 17462 18060 598 3.42
ReactiveCocoa.LLVM.NumLLVMBytesOutput 3145496 3250708 105212 3.34
ReactiveCocoa.IRModule.NumIRBasicBlocks 5673 5854 181 3.19
Alamofire.Sema.NumLazyGenericEnvironments 29755 30678 923 3.1
Kingfisher.Sema.NumLazyGenericEnvironments 65552 67566 2014 3.07
ReactiveCocoa.IRModule.NumIRInsts 44984 46352 1368 3.04
ReactiveCocoa.Sema.NumFunctionsTypechecked 9877 10176 299 3.03
ReactiveCocoa.SILModule.NumSILOptGlobalVariables 235 242 7 2.98
ReactiveCocoa.SILModule.NumSILOptFunctions 1932 1989 57 2.95
ReactiveCocoa.Sema.NumDeclsValidated 43368 44624 1256 2.9
ReactiveCocoa.AST.NumSourceLines 2228 2291 63 2.83
Result.Sema.NumDeclsDeserialized 19992 20548 556 2.78
ReactiveCocoa.SILModule.NumSILGenFunctions 1287 1321 34 2.64
ReactiveCocoa.Sema.NumConstraintScopes 15715 16129 414 2.63
Result.AST.NumASTBytesAllocated 6321928 6430640 108712 1.72
Kingfisher.Sema.NumDeclsDeserialized 404540 411412 6872 1.7
Alamofire.Sema.NumDeclsDeserialized 193862 196975 3113 1.61
ReactiveCocoa.AST.NumReferencedMemberNames 5649 5739 90 1.59
ReactiveSwift.Sema.NumTypesDeserialized 19204 19412 208 1.08
Kingfisher.AST.NumSourceLinesPerSecond 9874 9955 81 0.82
Alamofire.AST.NumASTBytesAllocated 119863072 120578968 715896 0.6
Kingfisher.AST.NumASTBytesAllocated 289220364 290790226 1569862 0.54
ReactiveSwift.Sema.NumLazyIterableDeclContexts 1572 1580 8 0.51
Result.Sema.NumTypesDeserialized 17245 17315 70 0.41
ReactiveSwift.Sema.NumUnloadedLazyIterableDeclContexts 746 748 2 0.27
Alamofire.Sema.NumConformancesDeserialized 31381 31462 81 0.26
Alamofire.Sema.NumLazyIterableDeclContexts 20983 21019 36 0.17
Kingfisher.Sema.NumLazyIterableDeclContexts 53413 53487 74 0.14
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 5330 5336 6 0.11
Result.Sema.NumLazyIterableDeclContexts 2134 2136 2 0.09
Alamofire.Sema.NumUnloadedLazyIterableDeclContexts 12260 12267 7 0.06
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 2462 2463 1 0.04
Kingfisher.Sema.NumUnloadedLazyIterableDeclContexts 31949 31963 14 0.04
Result.Sema.NumDeclsValidated 1326 1324 -2 -0.15
Result.Sema.NumUnloadedLazyIterableDeclContexts 1313 1311 -2 -0.15
Alamofire.Sema.NumTypesDeserialized 158195 157640 -555 -0.35
Kingfisher.Sema.NumTypesDeserialized 340784 339037 -1747 -0.51
ReactiveSwift.Sema.NumGenericSignatureBuilders 868 852 -16 -1.84
Alamofire.Sema.NumTypesValidated 14658 14335 -323 -2.2
ReactiveCocoa.Sema.NumTypesValidated 21339 20611 -728 -3.41
Alamofire.Driver.ChildrenMaxRSS 223420416 215212032 -8208384 -3.67
Result.Sema.NumTypesValidated 624 576 -48 -7.69
Kingfisher.Sema.NumTypesValidated 23354 21406 -1948 -8.34
Result.AST.NumSourceLinesPerSecond 1310 1190 -120 -9.16
Alamofire.Sema.NumGenericSignatureBuilders 13983 12640 -1343 -9.6
ReactiveCocoa.AST.NumSourceLinesPerSecond 4089 3684 -405 -9.9
Alamofire.AST.NumSourceLinesPerSecond 6828 6135 -693 -10.15
Result.Sema.NumGenericSignatureBuilders 958 856 -102 -10.65
Kingfisher.Sema.NumGenericSignatureBuilders 32819 28497 -4322 -13.17
ReactiveCocoa.Sema.NumGenericSignatureBuilders 24846 20092 -4754 -19.13

PR vs. head, changed timers (debug)

name old new delta delta_pct

PR vs. baseline (debug)

PR vs. baseline, changed counters (debug)

name old new delta delta_pct
Kingfisher.Driver.ChildrenMaxRSS 270966784 372596736 101629952 37.51
Alamofire.Driver.ChildrenMaxRSS 160178176 215212032 55033856 34.36
ReactiveSwift.Driver.ChildrenMaxRSS 201080832 264626176 63545344 31.6
ReactiveCocoa.Driver.ChildrenMaxRSS 247894016 273788928 25894912 10.45
Kingfisher.IRModule.NumIRGlobals 8465 9079 614 7.25
Kingfisher.Sema.NumConstraintScopes 299224 316766 17542 5.86
Alamofire.Sema.NumLazyGenericEnvironments 29624 30678 1054 3.56
Kingfisher.SILModule.NumSILOptFunctions 7508 7770 262 3.49
Alamofire.SILModule.NumSILOptFunctions 3897 4004 107 2.75
Kingfisher.Sema.NumLazyGenericEnvironments 65834 67566 1732 2.63
Kingfisher.IRModule.NumIRValueSymbols 14256 14506 250 1.75
Alamofire.Sema.NumDeclsDeserialized 193887 196975 3088 1.59
Alamofire.LLVM.NumLLVMBytesOutput 2998660 3034816 36156 1.21
Kingfisher.LLVM.NumLLVMBytesOutput 4714840 4768004 53164 1.13
Kingfisher.Sema.NumDeclsDeserialized 409158 411412 2254 0.55
Alamofire.AST.NumUsedConformances 435 436 1 0.23
Kingfisher.SILModule.NumSILGenFunctions 4186 4182 -4 -0.1
Alamofire.SILModule.NumSILGenFunctions 2463 2460 -3 -0.12
Alamofire.IRModule.NumIRGlobals 4765 4753 -12 -0.25
Alamofire.Sema.NumFunctionsTypechecked 5545 5454 -91 -1.64
Alamofire.Sema.NumTypesDeserialized 160268 157640 -2628 -1.64
Alamofire.IRModule.NumIRValueSymbols 8767 8537 -230 -2.62
Kingfisher.Sema.NumTypesDeserialized 349057 339037 -10020 -2.87
Kingfisher.IRModule.NumIRInsts 191952 184777 -7175 -3.74
Alamofire.IRModule.NumIRFunctions 5357 5146 -211 -3.94
Kingfisher.IRModule.NumIRFunctions 8166 7770 -396 -4.85
Alamofire.Sema.NumLazyIterableDeclContexts 22171 21019 -1152 -5.2
Kingfisher.IRModule.NumIRBasicBlocks 18918 17915 -1003 -5.3
Kingfisher.Sema.NumLazyIterableDeclContexts 56700 53487 -3213 -5.67
Alamofire.Sema.NumConstraintScopes 43672 41089 -2583 -5.91
Alamofire.AST.NumImportedExternalDefinitions 8503 7982 -521 -6.13
Kingfisher.Sema.NumFunctionsTypechecked 17534 16432 -1102 -6.28
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 5754 5336 -418 -7.26
Alamofire.IRModule.NumIRBasicBlocks 15117 13989 -1128 -7.46
Alamofire.IRModule.NumIRInsts 145727 134400 -11327 -7.77
Kingfisher.AST.NumImportedExternalDefinitions 28992 26636 -2356 -8.13
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 2712 2463 -249 -9.18
Alamofire.Sema.NumGenericSignatureBuilders 14041 12640 -1401 -9.98
Alamofire.AST.NumTotalClangImportedEntities 27870 24791 -3079 -11.05
Kingfisher.AST.NumTotalClangImportedEntities 75080 65970 -9110 -12.13
Kingfisher.Sema.NumGenericSignatureBuilders 33860 28497 -5363 -15.84
Alamofire.Sema.NumTypesValidated 18294 14335 -3959 -21.64
Kingfisher.Sema.NumTypesValidated 27830 21406 -6424 -23.08
ReactiveCocoa.LLVM.NumLLVMBytesOutput 4788084 3250708 -1537376 -32.11
Kingfisher.Sema.NumDeclsValidated 125016 83066 -41950 -33.56
Alamofire.Sema.NumConformancesDeserialized 47410 31462 -15948 -33.64
Kingfisher.Sema.NumConformancesDeserialized 111869 70994 -40875 -36.54
Alamofire.Sema.NumDeclsValidated 61341 38708 -22633 -36.9
ReactiveCocoa.Sema.NumLazyGenericEnvironments 91258 53105 -38153 -41.81
ReactiveCocoa.Sema.NumDeclsDeserialized 502245 280128 -222117 -44.22
ReactiveCocoa.IRModule.NumIRGlobals 8940 4986 -3954 -44.23
ReactiveCocoa.Sema.NumFunctionsTypechecked 18516 10176 -8340 -45.04
ReactiveCocoa.IRModule.NumIRValueSymbols 13956 7494 -6462 -46.3
ReactiveCocoa.Sema.NumTypesDeserialized 454647 242756 -211891 -46.61
ReactiveCocoa.AST.NumTotalClangImportedEntities 101738 54136 -47602 -46.79
ReactiveCocoa.AST.NumImportedExternalDefinitions 34112 18060 -16052 -47.06
ReactiveCocoa.AST.NumLoadedModules 3536 1836 -1700 -48.08
ReactiveCocoa.IRModule.NumIRFunctions 6982 3569 -3413 -48.88
ReactiveCocoa.IRModule.NumIRBasicBlocks 11772 5854 -5918 -50.27
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 111342 54857 -56485 -50.73
ReactiveCocoa.SILModule.NumSILOptFunctions 4068 1989 -2079 -51.11
ReactiveCocoa.AST.NumUsedConformances 704 337 -367 -52.13
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 10792 5062 -5730 -53.09
ReactiveCocoa.IRModule.NumIRInsts 100599 46352 -54247 -53.92
ReactiveCocoa.SILModule.NumSILGenFunctions 2904 1321 -1583 -54.51
ReactiveCocoa.Sema.NumTypesValidated 48832 20611 -28221 -57.79
ReactiveCocoa.Sema.NumDeclsValidated 106644 44624 -62020 -58.16
ReactiveCocoa.Sema.NumGenericSignatureBuilders 49758 20092 -29666 -59.62
ReactiveCocoa.Sema.NumConstraintScopes 42990 16129 -26861 -62.48
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 7874 1562 -6312 -80.16
ReactiveCocoa.Sema.NumConformancesDeserialized 115943 19161 -96782 -83.47
ReactiveSwift.Sema.NumTypesDeserialized 256534 19412 -237122 -92.43
ReactiveSwift.Sema.NumDeclsDeserialized 294906 18835 -276071 -93.61
ReactiveSwift.Sema.NumLazyGenericEnvironments 49690 3082 -46608 -93.8
ReactiveSwift.AST.NumLoadedModules 880 40 -840 -95.45
ReactiveSwift.Sema.NumLazyIterableDeclContexts 39950 1580 -38370 -96.05
ReactiveSwift.SILModule.NumSILOptFunctions 6970 226 -6744 -96.76
ReactiveSwift.AST.NumTotalClangImportedEntities 24800 754 -24046 -96.96
ReactiveSwift.Sema.NumGenericSignatureBuilders 31212 852 -30360 -97.27
ReactiveSwift.Sema.NumConformancesDeserialized 88500 1596 -86904 -98.2
ReactiveSwift.AST.NumImportedExternalDefinitions 6446 0 -6446 -100.0
ReactiveSwift.AST.NumUsedConformances 730 0 -730 -100.0
ReactiveSwift.IRModule.NumIRBasicBlocks 21772 0 -21772 -100.0
ReactiveSwift.IRModule.NumIRFunctions 10821 0 -10821 -100.0
ReactiveSwift.IRModule.NumIRGlobals 10934 0 -10934 -100.0
ReactiveSwift.IRModule.NumIRInsts 326029 0 -326029 -100.0
ReactiveSwift.IRModule.NumIRValueSymbols 18075 0 -18075 -100.0
ReactiveSwift.LLVM.NumLLVMBytesOutput 8054228 0 -8054228 -100.0
ReactiveSwift.SILModule.NumSILGenFunctions 4833 0 -4833 -100.0
ReactiveSwift.Sema.NumConstraintScopes 41650 0 -41650 -100.0
ReactiveSwift.Sema.NumDeclsValidated 75348 0 -75348 -100.0
ReactiveSwift.Sema.NumFunctionsTypechecked 4538 0 -4538 -100.0
ReactiveSwift.Sema.NumTypesValidated 100510 0 -100510 -100.0

PR vs. baseline, changed timers (debug)

name old new delta delta_pct

Wmo-onone

PR vs. head (wmo-onone)

PR vs. head, changed counters (wmo-onone)

name old new delta delta_pct
Result.Sema.NominalTypeLookupDirectCount 29222 141592 112370 384.54
ReactiveCocoa.Sema.NominalTypeLookupDirectCount 145026 512468 367442 253.36
Alamofire.Sema.NominalTypeLookupDirectCount 122387 388583 266196 217.5
ReactiveSwift.Sema.NominalTypeLookupDirectCount 189330 461167 271837 143.58
Result.Sema.NumLazyGenericEnvironments 3154 3308 154 4.88
ReactiveSwift.Driver.ChildrenMaxRSS 545669120 567083008 21413888 3.92
Result.Sema.NumDeclsDeserialized 18488 19042 554 3.0
ReactiveCocoa.Sema.NumLazyGenericEnvironments 5832 6004 172 2.95
ReactiveSwift.Sema.NumLazyGenericEnvironments 4558 4680 122 2.68
Alamofire.Sema.NumLazyGenericEnvironments 2415 2475 60 2.48
Alamofire.Driver.ChildrenMaxRSS 329515008 334946304 5431296 1.65
Result.AST.NumASTBytesAllocated 8275673 8400747 125074 1.51
Kingfisher.AST.NumSourceLinesPerSecond 1367 1386 19 1.39
Kingfisher.Driver.ChildrenMaxRSS 620093440 626184192 6090752 0.98
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 676 682 6 0.89
ReactiveCocoa.Driver.ChildrenMaxRSS 523239424 527822848 4583424 0.88
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 824 830 6 0.73
Result.Sema.NumTypesDeserialized 15709 15785 76 0.48
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 349 350 1 0.29
ReactiveCocoa.Sema.NumDeclsDeserialized 40354 40424 70 0.17
Result.Driver.ChildrenMaxRSS 256303104 256741376 438272 0.17
Result.Sema.NumLazyIterableDeclContexts 1786 1788 2 0.11
ReactiveSwift.AST.NumASTBytesAllocated 27522420 27532858 10438 0.04
ReactiveSwift.Sema.NumDeclsDeserialized 36516 36530 14 0.04
Kingfisher.Sema.NumDeclsDeserialized 42329 42323 -6 -0.01
Alamofire.Sema.NumDeclsDeserialized 20347 20342 -5 -0.02
ReactiveCocoa.AST.NumASTBytesAllocated 30343790 30328986 -14804 -0.05
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3750 3748 -2 -0.05
Kingfisher.AST.NumASTBytesAllocated 51685652 51655428 -30224 -0.06
Kingfisher.Sema.NumLazyIterableDeclContexts 3480 3478 -2 -0.06
ReactiveSwift.Sema.NumLazyIterableDeclContexts 2778 2776 -2 -0.07
Kingfisher.Sema.NumLazyGenericEnvironments 4710 4706 -4 -0.08
Alamofire.AST.NumASTBytesAllocated 17173335 17158095 -15240 -0.09
Alamofire.Sema.NumLazyIterableDeclContexts 1609 1607 -2 -0.12
Kingfisher.Sema.NumUnloadedLazyIterableDeclContexts 1224 1222 -2 -0.16
ReactiveSwift.Sema.NumUnloadedLazyIterableDeclContexts 1261 1259 -2 -0.16
Result.Sema.NumUnloadedLazyIterableDeclContexts 1027 1025 -2 -0.19
ReactiveCocoa.Sema.NumUnloadedLazyIterableDeclContexts 1706 1702 -4 -0.23
Result.Sema.NumDeclsValidated 1474 1470 -4 -0.27
Alamofire.Sema.NumUnloadedLazyIterableDeclContexts 698 696 -2 -0.29
ReactiveSwift.AST.NumSourceLinesPerSecond 2870 2853 -17 -0.59
ReactiveCocoa.Sema.NumTypesDeserialized 34834 34434 -400 -1.15
Kingfisher.Sema.NumTypesDeserialized 34278 33878 -400 -1.17
Alamofire.Sema.NumTypesDeserialized 16756 16537 -219 -1.31
ReactiveSwift.Sema.NumTypesDeserialized 30324 29912 -412 -1.36
Alamofire.Sema.NumTypesValidated 1629 1592 -37 -2.27
Result.AST.NumSourceLinesPerSecond 531 516 -15 -2.82
Alamofire.AST.NumSourceLinesPerSecond 929 901 -28 -3.01
ReactiveCocoa.AST.NumSourceLinesPerSecond 1205 1158 -47 -3.9
Result.Sema.NumTypesValidated 1054 990 -64 -6.07
ReactiveCocoa.Sema.NumTypesValidated 2570 2372 -198 -7.7
ReactiveSwift.Sema.NumTypesValidated 25590 23618 -1972 -7.71
Alamofire.Sema.NumGenericSignatureBuilders 1546 1414 -132 -8.54
Kingfisher.Sema.NumTypesValidated 3046 2740 -306 -10.05
Kingfisher.Sema.NominalTypeLookupDirectCount 701112 616697 -84415 -12.04
Kingfisher.Sema.NumGenericSignatureBuilders 3864 3390 -474 -12.27
Result.Sema.NumGenericSignatureBuilders 952 834 -118 -12.39
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3556 2918 -638 -17.94
ReactiveSwift.Sema.NumGenericSignatureBuilders 4298 2722 -1576 -36.67

PR vs. head, changed timers (wmo-onone)

name old new delta delta_pct

PR vs. baseline (wmo-onone)

PR vs. baseline, changed counters (wmo-onone)

name old new delta delta_pct
Alamofire.AST.NumUsedConformances 0 436 436 100.0
Alamofire.IRModule.NumIRBasicBlocks 0 14093 14093 100.0
Alamofire.IRModule.NumIRFunctions 0 5113 5113 100.0
Alamofire.IRModule.NumIRGlobals 0 4605 4605 100.0
Alamofire.IRModule.NumIRInsts 0 130883 130883 100.0
Alamofire.IRModule.NumIRValueSymbols 0 8385 8385 100.0
Alamofire.LLVM.NumLLVMBytesOutput 0 3080020 3080020 100.0
Kingfisher.AST.NumUsedConformances 0 858 858 100.0
Kingfisher.IRModule.NumIRBasicBlocks 0 17939 17939 100.0
Kingfisher.IRModule.NumIRFunctions 0 7564 7564 100.0
Kingfisher.IRModule.NumIRGlobals 0 8967 8967 100.0
Kingfisher.IRModule.NumIRInsts 0 182871 182871 100.0
Kingfisher.IRModule.NumIRValueSymbols 0 14654 14654 100.0
Kingfisher.LLVM.NumLLVMBytesOutput 0 5111952 5111952 100.0
ReactiveCocoa.AST.NumUsedConformances 0 704 704 100.0
ReactiveCocoa.IRModule.NumIRBasicBlocks 0 10243 10243 100.0
ReactiveCocoa.IRModule.NumIRFunctions 0 6630 6630 100.0
ReactiveCocoa.IRModule.NumIRGlobals 0 9288 9288 100.0
ReactiveCocoa.IRModule.NumIRInsts 0 94342 94342 100.0
ReactiveCocoa.IRModule.NumIRValueSymbols 0 14444 14444 100.0
ReactiveCocoa.LLVM.NumLLVMBytesOutput 0 8889496 8889496 100.0
ReactiveSwift.AST.NumUsedConformances 0 736 736 100.0
ReactiveSwift.IRModule.NumIRBasicBlocks 0 19020 19020 100.0
ReactiveSwift.IRModule.NumIRFunctions 0 10461 10461 100.0
ReactiveSwift.IRModule.NumIRGlobals 0 12284 12284 100.0
ReactiveSwift.IRModule.NumIRInsts 0 312098 312098 100.0
ReactiveSwift.IRModule.NumIRValueSymbols 0 20223 20223 100.0
ReactiveSwift.LLVM.NumLLVMBytesOutput 0 8386820 8386820 100.0
Kingfisher.Driver.ChildrenMaxRSS 469618688 626184192 156565504 33.34
ReactiveSwift.Driver.ChildrenMaxRSS 451407872 567083008 115675136 25.63
Alamofire.Driver.ChildrenMaxRSS 270950400 334946304 63995904 23.62
ReactiveCocoa.Driver.ChildrenMaxRSS 432025600 527822848 95797248 22.17
Alamofire.AST.NumTotalClangImportedEntities 2774 3069 295 10.63
Kingfisher.AST.NumTotalClangImportedEntities 8884 9538 654 7.36
Kingfisher.Sema.NumConstraintScopes 282182 301076 18894 6.7
ReactiveCocoa.AST.NumTotalClangImportedEntities 7088 7258 170 2.4
ReactiveCocoa.Sema.NumLazyGenericEnvironments 5924 6004 80 1.35
ReactiveSwift.Sema.NumLazyGenericEnvironments 4622 4680 58 1.25
Alamofire.Sema.NumLazyGenericEnvironments 2454 2475 21 0.86
Kingfisher.AST.NumImportedExternalDefinitions 3372 3368 -4 -0.12
ReactiveSwift.SILModule.NumSILGenFunctions 3763 3757 -6 -0.16
Alamofire.AST.NumImportedExternalDefinitions 883 881 -2 -0.23
ReactiveSwift.Sema.NumFunctionsTypechecked 1990 1976 -14 -0.7
Alamofire.SILModule.NumSILGenFunctions 1948 1933 -15 -0.77
ReactiveSwift.SILModule.NumSILOptFunctions 4342 4292 -50 -1.15
Kingfisher.SILModule.NumSILGenFunctions 3186 3146 -40 -1.26
Kingfisher.Sema.NumLazyGenericEnvironments 4768 4706 -62 -1.3
Kingfisher.Sema.NumDeclsDeserialized 42943 42323 -620 -1.44
ReactiveCocoa.Sema.NumDeclsDeserialized 41130 40424 -706 -1.72
Alamofire.Sema.NumDeclsDeserialized 20724 20342 -382 -1.84
Alamofire.SILModule.NumSILOptFunctions 2206 2157 -49 -2.22
ReactiveSwift.Sema.NumDeclsDeserialized 37374 36530 -844 -2.26
Kingfisher.SILModule.NumSILOptFunctions 4252 4152 -100 -2.35
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3850 3748 -102 -2.65
Kingfisher.Sema.NumTypesDeserialized 35018 33878 -1140 -3.26
ReactiveCocoa.SILModule.NumSILGenFunctions 1985 1917 -68 -3.43
Kingfisher.Sema.NumLazyIterableDeclContexts 3602 3478 -124 -3.44
ReactiveCocoa.Sema.NumTypesDeserialized 35673 34434 -1239 -3.47
Alamofire.Sema.NumTypesDeserialized 17157 16537 -620 -3.61
Alamofire.Sema.NumLazyIterableDeclContexts 1672 1607 -65 -3.89
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 365 350 -15 -4.11
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 866 830 -36 -4.16
ReactiveSwift.Sema.NumTypesDeserialized 31307 29912 -1395 -4.46
ReactiveCocoa.SILModule.NumSILOptFunctions 2405 2292 -113 -4.7
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 840 798 -42 -5.0
ReactiveSwift.Sema.NumLazyIterableDeclContexts 2924 2776 -148 -5.06
Alamofire.Sema.NumConstraintScopes 38683 36256 -2427 -6.27
ReactiveSwift.Sema.NumConstraintScopes 38598 35920 -2678 -6.94
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 734 682 -52 -7.08
Alamofire.Sema.NumGenericSignatureBuilders 1528 1414 -114 -7.46
ReactiveSwift.Sema.NumTypesValidated 26292 23618 -2674 -10.17
ReactiveCocoa.Sema.NumConstraintScopes 23810 21222 -2588 -10.87
Kingfisher.Sema.NumGenericSignatureBuilders 3834 3390 -444 -11.58
ReactiveSwift.Sema.NumConformancesDeserialized 22922 19708 -3214 -14.02
ReactiveSwift.AST.NumImportedExternalDefinitions 596 512 -84 -14.09
Kingfisher.Sema.NumConformancesDeserialized 24122 20436 -3686 -15.28
Alamofire.Sema.NumConformancesDeserialized 11914 9947 -1967 -16.51
ReactiveCocoa.Sema.NumConformancesDeserialized 18306 15206 -3100 -16.93
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3534 2918 -616 -17.43
Alamofire.Sema.NumTypesValidated 1973 1592 -381 -19.31
ReactiveSwift.AST.NumTotalClangImportedEntities 2240 1658 -582 -25.98
Kingfisher.Sema.NumTypesValidated 3756 2740 -1016 -27.05
ReactiveSwift.Sema.NumGenericSignatureBuilders 4280 2722 -1558 -36.4
ReactiveCocoa.Sema.NumTypesValidated 4034 2372 -1662 -41.2
ReactiveCocoa.Sema.NumDeclsValidated 20206 10966 -9240 -45.73
Kingfisher.Sema.NumDeclsValidated 35702 14416 -21286 -59.62
Alamofire.Sema.NumDeclsValidated 17283 6831 -10452 -60.48
ReactiveSwift.Sema.NumDeclsValidated 28656 9610 -19046 -66.46

PR vs. baseline, changed timers (wmo-onone)

name old new delta delta_pct

Release

PR vs. head (release)

PR vs. head, changed counters (release)

name old new delta delta_pct
Result.Sema.NominalTypeLookupDirectCount 37176 181354 144178 387.83
ReactiveCocoa.Sema.NominalTypeLookupDirectCount 160776 559796 399020 248.18
Alamofire.Sema.NominalTypeLookupDirectCount 150297 442353 292056 194.32
ReactiveSwift.Sema.NominalTypeLookupDirectCount 257746 555996 298250 115.71
Kingfisher.Driver.ChildrenMaxRSS 761577472 789839872 28262400 3.71
Result.Sema.NumLazyGenericEnvironments 3940 4086 146 3.71
ReactiveCocoa.Sema.NumLazyGenericEnvironments 6048 6202 154 2.55
Alamofire.Driver.ChildrenMaxRSS 396279808 405913600 9633792 2.43
ReactiveSwift.Sema.NumLazyGenericEnvironments 5038 5156 118 2.34
Result.Sema.NumDeclsDeserialized 23176 23716 540 2.33
Alamofire.Sema.NumLazyGenericEnvironments 2706 2765 59 2.18
Result.AST.NumASTBytesAllocated 8274965 8400039 125074 1.51
ReactiveCocoa.Driver.ChildrenMaxRSS 573517824 581062656 7544832 1.32
ReactiveSwift.Driver.ChildrenMaxRSS 710897664 717443072 6545408 0.92
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 686 692 6 0.87
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 850 856 6 0.71
Result.Sema.NumUnloadedLazyIterableDeclContexts 1138 1142 4 0.35
Result.Sema.NumLazyIterableDeclContexts 1994 2000 6 0.3
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 364 365 1 0.27
ReactiveSwift.AST.NumASTBytesAllocated 27519664 27530102 10438 0.04
ReactiveSwift.Sema.NumDeclsDeserialized 44132 44138 6 0.01
Alamofire.Sema.NumDeclsDeserialized 24340 24334 -6 -0.02
Kingfisher.Sema.NumDeclsDeserialized 48406 48398 -8 -0.02
ReactiveCocoa.AST.NumASTBytesAllocated 30337130 30322326 -14804 -0.05
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3794 3792 -2 -0.05
Kingfisher.AST.NumASTBytesAllocated 51682576 51652352 -30224 -0.06
Kingfisher.Sema.NumLazyIterableDeclContexts 3541 3539 -2 -0.06
Kingfisher.Sema.NumLazyGenericEnvironments 4982 4978 -4 -0.08
Alamofire.AST.NumASTBytesAllocated 17171989 17156749 -15240 -0.09
Alamofire.Sema.NumLazyIterableDeclContexts 1663 1661 -2 -0.12
ReactiveCocoa.Sema.NumUnloadedLazyIterableDeclContexts 1693 1691 -2 -0.12
ReactiveSwift.Sema.NumLazyIterableDeclContexts 2871 2867 -4 -0.14
Kingfisher.Sema.NumUnloadedLazyIterableDeclContexts 1192 1190 -2 -0.17
Result.Sema.NumDeclsValidated 1474 1470 -4 -0.27
Alamofire.Sema.NumUnloadedLazyIterableDeclContexts 683 681 -2 -0.29
ReactiveSwift.Sema.NumUnloadedLazyIterableDeclContexts 1229 1225 -4 -0.33
Result.Sema.NumTypesDeserialized 20695 20627 -68 -0.33
Kingfisher.Sema.NumTypesDeserialized 45297 44861 -436 -0.96
Alamofire.Sema.NumTypesDeserialized 23262 23027 -235 -1.01
ReactiveSwift.Sema.NumTypesDeserialized 40045 39611 -434 -1.08
ReactiveCocoa.Sema.NumTypesDeserialized 39136 38660 -476 -1.22
ReactiveSwift.AST.NumSourceLinesPerSecond 873 860 -13 -1.49
Alamofire.AST.NumSourceLinesPerSecond 335 329 -6 -1.79
Kingfisher.AST.NumSourceLinesPerSecond 527 516 -11 -2.09
Alamofire.Sema.NumTypesValidated 1629 1592 -37 -2.27
ReactiveCocoa.AST.NumSourceLinesPerSecond 520 508 -12 -2.31
Result.AST.NumSourceLinesPerSecond 297 290 -7 -2.36
Result.Driver.ChildrenMaxRSS 317259776 306618368 -10641408 -3.35
Result.Sema.NumTypesValidated 1054 990 -64 -6.07
ReactiveCocoa.Sema.NumTypesValidated 2570 2372 -198 -7.7
ReactiveSwift.Sema.NumTypesValidated 25590 23618 -1972 -7.71
Alamofire.Sema.NumGenericSignatureBuilders 1612 1480 -132 -8.19
Kingfisher.Sema.NominalTypeLookupDirectCount 741984 678607 -63377 -8.54
Kingfisher.Sema.NumTypesValidated 3046 2740 -306 -10.05
Result.Sema.NumGenericSignatureBuilders 998 880 -118 -11.82
Kingfisher.Sema.NumGenericSignatureBuilders 3947 3473 -474 -12.01
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3642 3004 -638 -17.52
ReactiveSwift.Sema.NumGenericSignatureBuilders 4386 2810 -1576 -35.93

PR vs. head, changed timers (release)

name old new delta delta_pct

PR vs. baseline (release)

PR vs. baseline, changed counters (release)

name old new delta delta_pct
Alamofire.AST.NumUsedConformances 0 436 436 100.0
Alamofire.IRModule.NumIRBasicBlocks 0 15826 15826 100.0
Alamofire.IRModule.NumIRFunctions 0 3616 3616 100.0
Alamofire.IRModule.NumIRGlobals 0 4527 4527 100.0
Alamofire.IRModule.NumIRInsts 0 117715 117715 100.0
Alamofire.IRModule.NumIRValueSymbols 0 7011 7011 100.0
Alamofire.LLVM.NumLLVMBytesOutput 0 3369960 3369960 100.0
Kingfisher.AST.NumUsedConformances 0 858 858 100.0
Kingfisher.IRModule.NumIRBasicBlocks 0 22773 22773 100.0
Kingfisher.IRModule.NumIRFunctions 0 5809 5809 100.0
Kingfisher.IRModule.NumIRGlobals 0 8680 8680 100.0
Kingfisher.IRModule.NumIRInsts 0 170817 170817 100.0
Kingfisher.IRModule.NumIRValueSymbols 0 12885 12885 100.0
Kingfisher.LLVM.NumLLVMBytesOutput 0 5802768 5802768 100.0
ReactiveCocoa.AST.NumUsedConformances 0 704 704 100.0
ReactiveCocoa.IRModule.NumIRBasicBlocks 0 8765 8765 100.0
ReactiveCocoa.IRModule.NumIRFunctions 0 4872 4872 100.0
ReactiveCocoa.IRModule.NumIRGlobals 0 8506 8506 100.0
ReactiveCocoa.IRModule.NumIRInsts 0 66760 66760 100.0
ReactiveCocoa.IRModule.NumIRValueSymbols 0 12112 12112 100.0
ReactiveCocoa.LLVM.NumLLVMBytesOutput 0 8761360 8761360 100.0
ReactiveSwift.AST.NumUsedConformances 0 736 736 100.0
ReactiveSwift.IRModule.NumIRBasicBlocks 0 22135 22135 100.0
ReactiveSwift.IRModule.NumIRFunctions 0 10256 10256 100.0
ReactiveSwift.IRModule.NumIRGlobals 0 11762 11762 100.0
ReactiveSwift.IRModule.NumIRInsts 0 262607 262607 100.0
ReactiveSwift.IRModule.NumIRValueSymbols 0 19698 19698 100.0
ReactiveSwift.LLVM.NumLLVMBytesOutput 0 9845364 9845364 100.0
Kingfisher.Driver.ChildrenMaxRSS 701317120 789839872 88522752 12.62
Alamofire.AST.NumTotalClangImportedEntities 2918 3240 322 11.03
ReactiveSwift.Driver.ChildrenMaxRSS 660402176 717443072 57040896 8.64
Kingfisher.AST.NumTotalClangImportedEntities 9088 9788 700 7.7
ReactiveCocoa.Driver.ChildrenMaxRSS 540602368 581062656 40460288 7.48
Kingfisher.Sema.NumConstraintScopes 282182 301076 18894 6.7
Alamofire.Driver.ChildrenMaxRSS 395132928 405913600 10780672 2.73
ReactiveCocoa.AST.NumTotalClangImportedEntities 7264 7434 170 2.34
ReactiveSwift.Sema.NumLazyGenericEnvironments 5068 5156 88 1.74
ReactiveCocoa.Sema.NumLazyGenericEnvironments 6122 6202 80 1.31
Alamofire.Sema.NumLazyGenericEnvironments 2741 2765 24 0.88
ReactiveSwift.SILModule.NumSILGenFunctions 3755 3757 2 0.05
Alamofire.SILModule.NumSILGenFunctions 1861 1860 -1 -0.05
ReactiveCocoa.SILModule.NumSILGenFunctions 1917 1915 -2 -0.1
Kingfisher.AST.NumImportedExternalDefinitions 3372 3368 -4 -0.12
Alamofire.AST.NumImportedExternalDefinitions 883 881 -2 -0.23
ReactiveSwift.Sema.NumFunctionsTypechecked 1990 1976 -14 -0.7
Kingfisher.Sema.NumDeclsDeserialized 48862 48398 -464 -0.95
Kingfisher.Sema.NumLazyGenericEnvironments 5036 4978 -58 -1.15
Alamofire.SILModule.NumSILOptFunctions 2984 2948 -36 -1.21
ReactiveSwift.SILModule.NumSILOptFunctions 6852 6762 -90 -1.31
ReactiveCocoa.Sema.NumDeclsDeserialized 42755 42072 -683 -1.6
ReactiveSwift.Sema.NumDeclsDeserialized 44912 44138 -774 -1.72
Alamofire.Sema.NumDeclsDeserialized 24763 24334 -429 -1.73
Kingfisher.SILModule.NumSILOptFunctions 5715 5608 -107 -1.87
ReactiveCocoa.SILModule.NumSILOptFunctions 2915 2849 -66 -2.26
ReactiveCocoa.Sema.NumLazyIterableDeclContexts 3896 3792 -104 -2.67
ReactiveCocoa.Sema.NumTypesDeserialized 39816 38660 -1156 -2.9
Kingfisher.Sema.NumTypesDeserialized 46220 44861 -1359 -2.94
Alamofire.Sema.NumTypesDeserialized 23772 23027 -745 -3.13
Kingfisher.Sema.NumLazyIterableDeclContexts 3664 3539 -125 -3.41
ReactiveSwift.Sema.NumTypesDeserialized 41015 39611 -1404 -3.42
Alamofire.Sema.NumLazyIterableDeclContexts 1724 1661 -63 -3.65
ReactiveSwift.Sema.NumLazyGenericEnvironmentsLoaded 898 856 -42 -4.68
ReactiveSwift.Sema.NumLazyIterableDeclContexts 3012 2867 -145 -4.81
Alamofire.Sema.NumLazyGenericEnvironmentsLoaded 385 365 -20 -5.19
Kingfisher.Sema.NumLazyGenericEnvironmentsLoaded 882 830 -52 -5.9
Alamofire.Sema.NumConstraintScopes 38683 36256 -2427 -6.27
ReactiveSwift.Sema.NumConstraintScopes 38598 35920 -2678 -6.94
Alamofire.Sema.NumGenericSignatureBuilders 1595 1480 -115 -7.21
ReactiveCocoa.Sema.NumLazyGenericEnvironmentsLoaded 756 692 -64 -8.47
ReactiveSwift.Sema.NumConformancesDeserialized 30973 27855 -3118 -10.07
ReactiveSwift.Sema.NumTypesValidated 26292 23618 -2674 -10.17
ReactiveCocoa.Sema.NumConstraintScopes 23810 21222 -2588 -10.87
Kingfisher.Sema.NumConformancesDeserialized 35107 31233 -3874 -11.03
Alamofire.Sema.NumConformancesDeserialized 18728 16570 -2158 -11.52
Kingfisher.Sema.NumGenericSignatureBuilders 3925 3473 -452 -11.52
ReactiveCocoa.Sema.NumConformancesDeserialized 24520 21416 -3104 -12.66
ReactiveSwift.AST.NumImportedExternalDefinitions 596 512 -84 -14.09
ReactiveCocoa.Sema.NumGenericSignatureBuilders 3612 3004 -608 -16.83
Alamofire.Sema.NumTypesValidated 1973 1592 -381 -19.31
ReactiveSwift.AST.NumTotalClangImportedEntities 2674 2114 -560 -20.94
Kingfisher.Sema.NumTypesValidated 3756 2740 -1016 -27.05
ReactiveSwift.Sema.NumGenericSignatureBuilders 4390 2810 -1580 -35.99
ReactiveCocoa.Sema.NumTypesValidated 4034 2372 -1662 -41.2
ReactiveCocoa.Sema.NumDeclsValidated 20206 10966 -9240 -45.73
Kingfisher.Sema.NumDeclsValidated 35702 14416 -21286 -59.62
Alamofire.Sema.NumDeclsValidated 17283 6831 -10452 -60.48
ReactiveSwift.Sema.NumDeclsValidated 28656 9610 -19046 -66.46

PR vs. baseline, changed timers (release)

name old new delta delta_pct
Last baseline commit on smoketest-master-debug.csv
commit 4de0b8570ecc3a81748350219435c85f1060ac16
Author: Graydon Hoare 
Date:   Tue Sep 19 00:18:10 2017 -0700

    Add smoketest cperf-baselines for Xcode 9.0 GM 9A235

Last baseline commit on smoketest-master-wmo-onone.csv

commit 4de0b8570ecc3a81748350219435c85f1060ac16
Author: Graydon Hoare 
Date:   Tue Sep 19 00:18:10 2017 -0700

    Add smoketest cperf-baselines for Xcode 9.0 GM 9A235

Last baseline commit on smoketest-master-release.csv

commit 4de0b8570ecc3a81748350219435c85f1060ac16
Author: Graydon Hoare 
Date:   Tue Sep 19 00:18:10 2017 -0700

    Add smoketest cperf-baselines for Xcode 9.0 GM 9A235


…builder.

Once we compute a generic signature from a generic signature builder,
all queries involving that generic signature will go through a separate
(canonicalized) builder, and the original builder can no longer be used.
The canonicalization process then creates a new, effectively identical
generic signature builder. How silly.

Once we’ve computed the signature of a generic signature builder, “register”
it with the ASTContext, allowing us to move the existing generic signature
builder into place as the canonical generic signature builder. The builder
requires minimal patching but is otherwise fully usable.

Thanks to Slava Pestov for the idea!
These only occur with canonicalized builders in invalid code; it’s not worth
having them slip out.
The number of generic signature builders “registered” indicates how many
times a generic signature builder (GSB) was moved in to become the canonical
GSB, rather than recreating the GSB. When a GSB is “already registered”, it
means that we’ve constructed a new GSB only to find that there already was
a canonical GSB for that particular generic signature. These latter cases
could potentially benefit from more caching.
The GSB performs repeated lookups of the same nested type (by name) within
a given equivalence class. Cache the results of this lookup.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@DougGregor
Copy link
Member Author

Ahhh, found the issue. It wasn't triggering on my branch.

@DougGregor
Copy link
Member Author

@swift-ci please smoke test and merge

@DougGregor
Copy link
Member Author

@swift-ci please smoke test Linux

2 similar comments
@DougGregor
Copy link
Member Author

@swift-ci please smoke test Linux

@DougGregor
Copy link
Member Author

@swift-ci please smoke test Linux

@DougGregor DougGregor merged commit eccdeda into swiftlang:master Sep 23, 2017
@DougGregor DougGregor deleted the make-fewer-gsbs branch September 23, 2017 01:38
@shajrawi
Copy link

Doug, I think this might be causing the parsing test failures on the bots?

@DougGregor
Copy link
Member Author

I'm pulling in the pieces of this that don't break the parsing tests, separately. #12091 has the improvements that avoid creating GSBs when there's already an obvious generic signature to use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants