Skip to content

Sema: Fix performance regression by only checking for selector conflicts in primary files #29652

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

Conversation

slavapestov
Copy link
Contributor

Should fix the regression from #26975.

@slavapestov slavapestov force-pushed the fix-selector-conflict-regression branch from 5824079 to c59bcfa Compare February 5, 2020 03:16
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test compiler performance

@slavapestov slavapestov requested a review from CodaFi February 5, 2020 03:20
Copy link
Contributor

@CodaFi CodaFi left a comment

Choose a reason for hiding this comment

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

Do we have a multifile test to ensure we only diagnose in the primary?

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@swift-ci
Copy link
Contributor

swift-ci commented Feb 5, 2020

Summary for master smoketest

Regressions found (see below)

Debug

debug brief

Regressed (0)
name old new delta delta_pct
Improved (2)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 977,989,302,576 888,717,524,748 -89,271,777,828 -9.13% ✅
time.swift-driver.wall 102.9s 97.4s -5.5s -5.33% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (1)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 50,753,964 50,753,788 -176 -0.0%

debug detailed

Regressed (0)
name old new delta delta_pct
Improved (6)
name old new delta delta_pct
AST.NumTotalClangImportedEntities 60,738 57,311 -3,427 -5.64% ✅
Sema.NumConformancesDeserialized 197,305 166,038 -31,267 -15.85% ✅
Sema.NumDeclsDeserialized 1,605,012 1,386,220 -218,792 -13.63% ✅
Sema.NumGenericSignatureBuilders 27,935 25,516 -2,419 -8.66% ✅
Sema.NumLazyIterableDeclContexts 203,653 193,874 -9,779 -4.8% ✅
Sema.NumTypesDeserialized 513,270 468,557 -44,713 -8.71% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (12)
name old new delta delta_pct
AST.NumLoadedModules 7,360 7,360 0 0.0%
IRModule.NumIRBasicBlocks 189,026 189,026 0 0.0%
IRModule.NumIRFunctions 101,615 101,615 0 0.0%
IRModule.NumIRGlobals 110,101 110,101 0 0.0%
IRModule.NumIRInsts 2,076,125 2,076,125 0 0.0%
IRModule.NumIRValueSymbols 193,072 193,072 0 0.0%
LLVM.NumLLVMBytesOutput 50,753,964 50,753,788 -176 -0.0%
SILModule.NumSILGenFunctions 49,397 49,397 0 0.0%
SILModule.NumSILOptFunctions 67,748 67,748 0 0.0%
Sema.NumConstraintScopes 981,795 978,199 -3,596 -0.37%
Sema.NumFunctionsTypechecked 10,984 10,984 0 0.0%
Sema.NumTypesValidated 32,131 32,131 0 0.0%

Release

release brief

Regressed (1)
name old new delta delta_pct
time.swift-driver.wall 189.1s 191.3s 2.2s 1.15% ⛔
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 1,271,837,825,276 1,272,331,089,396 493,264,120 0.04%
LLVM.NumLLVMBytesOutput 56,793,404 56,792,828 -576 -0.0%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (18)
name old new delta delta_pct
AST.NumLoadedModules 552 552 0 0.0%
AST.NumTotalClangImportedEntities 14,646 14,646 0 0.0%
IRModule.NumIRBasicBlocks 169,463 169,463 0 0.0%
IRModule.NumIRFunctions 77,865 77,865 0 0.0%
IRModule.NumIRGlobals 88,575 88,575 0 0.0%
IRModule.NumIRInsts 1,454,155 1,454,155 0 0.0%
IRModule.NumIRValueSymbols 155,615 155,615 0 0.0%
LLVM.NumLLVMBytesOutput 56,793,404 56,792,828 -576 -0.0%
SILModule.NumSILGenFunctions 28,956 28,956 0 0.0%
SILModule.NumSILOptFunctions 24,763 24,763 0 0.0%
Sema.NumConformancesDeserialized 79,161 79,161 0 0.0%
Sema.NumConstraintScopes 968,017 968,017 0 0.0%
Sema.NumDeclsDeserialized 196,967 196,967 0 0.0%
Sema.NumFunctionsTypechecked 10,984 10,984 0 0.0%
Sema.NumGenericSignatureBuilders 5,187 5,187 0 0.0%
Sema.NumLazyIterableDeclContexts 23,943 23,943 0 0.0%
Sema.NumTypesDeserialized 106,725 106,725 0 0.0%
Sema.NumTypesValidated 18,705 18,705 0 0.0%

@slavapestov slavapestov merged commit 6c29541 into swiftlang:master Feb 5, 2020
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