Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add more efficient SIMDMask.random. #36583

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

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

stephentyrone
Copy link
Contributor

@stephentyrone stephentyrone commented Mar 25, 2021

(Opening this as a draft PR because it's dependent on new Builtins work that was just merged to main)

Implements a more efficient concrete algorithm for generating random SIMDMask objects. Because each lane of a SIMDMask only needs a single bit of randomness, we can get all the randomness we need from a single call to rng.next(), instead of using a call per lane as happens when we go through Bool.random() in the generic implementation. (We can also improve the generic implementation, which I'll look at next).

SIMDMask.random() is not too heavily used, so we won't see any big wins from this anywhere, but it's a mostly trivial change with some nice speedups.

@stephentyrone
Copy link
Contributor Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build failed before running benchmark.

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
FlattenListFlatMap 3939 6544 +66.1% 0.60x (?)
DataAppendArray 4200 4600 +9.5% 0.91x (?)
ObjectiveCBridgeStubFromNSStringRef 157 171 +8.9% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
SIMDRandomMask.Int8x64 5180 61 -98.8% 84.92x
SIMDRandomMask.Int64x64 15275 261 -98.3% 58.52x
SIMDRandomMask.Int8x16 514 37 -92.8% 13.89x
SIMDRandomMask.Int64x8 266 60 -77.4% 4.43x
SIMDRandomMask.Int64x2 101 31 -69.3% 3.26x

Code size: -O

Improvement OLD NEW DELTA RATIO
SIMDRandomMask.o 6989 6125 -12.4% 1.14x

Performance: -Osize

Regression OLD NEW DELTA RATIO
ObjectiveCBridgeFromNSArrayAnyObjectForced 4560 4920 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SIMDRandomMask.Int8x64 5180 61 -98.8% 84.92x
SIMDRandomMask.Int64x64 15369 261 -98.3% 58.88x
SIMDRandomMask.Int8x16 516 37 -92.8% 13.95x
SIMDRandomMask.Int64x8 294 60 -79.6% 4.90x
SIMDRandomMask.Int64x2 100 31 -69.0% 3.23x
NSError 243 174 -28.4% 1.40x (?)
NSStringConversion.MutableCopy.Rebridge.Medium 630 574 -8.9% 1.10x (?)
NSStringConversion.UTF8 1041 950 -8.7% 1.10x (?)

Code size: -Osize

Improvement OLD NEW DELTA RATIO
SIMDRandomMask.o 6521 5753 -11.8% 1.13x

Performance: -Onone

Regression OLD NEW DELTA RATIO
SevenBoom 1416 1528 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SIMDRandomMask.Int8x64 21835 291 -98.7% 75.03x
SIMDRandomMask.Int64x64 40475 1085 -97.3% 37.30x
SIMDRandomMask.Int8x16 5749 211 -96.3% 27.25x
SIMDRandomMask.Int64x8 3640 289 -92.1% 12.60x
SIMDRandomMask.Int64x2 1317 217 -83.5% 6.07x

Code size: -swiftlibs

How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

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

@stephentyrone
Copy link
Contributor Author

@swift-ci please test compiler performance

@stephentyrone
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 4c7315ef56ea72c114ae0eb4416f0c4c2efc3243

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 4c7315ef56ea72c114ae0eb4416f0c4c2efc3243

@stephentyrone
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 4c7315ef56ea72c114ae0eb4416f0c4c2efc3243

@stephentyrone
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 4698c3bbce8a169b0f426a064015747aad578bbc

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 4698c3bbce8a169b0f426a064015747aad578bbc

@swift-ci
Copy link
Contributor

Summary for main full

Unexpected test results, excluded stats for RxCocoa

Regressions found (see below)

Debug-batch

debug-batch brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 68,930,322,496,371 68,893,944,431,131 -36,378,065,240 -0.05%
LLVM.NumLLVMBytesOutput 2,411,624,108 2,411,643,828 19,720 0.0%
time.swift-driver.wall 8211.2s 8201.5s -9.8s -0.12%

debug-batch detailed

Regressed (6)
name old new delta delta_pct
Sema.CollectOverriddenDeclsRequest 14,125,993 14,518,745 392,752 2.78% ⛔
Sema.InterfaceTypeRequest 22,762,826 23,165,110 402,284 1.77% ⛔
Sema.LookupConformanceInModuleRequest 59,135,809 60,720,973 1,585,164 2.68% ⛔
Sema.NumGenericSignatureBuilders 1,757,955 1,800,126 42,171 2.4% ⛔
Sema.ProvideDefaultImplForRequest 14,125,993 14,518,745 392,752 2.78% ⛔
Sema.USRGenerationRequest 16,210,521 16,598,662 388,141 2.39% ⛔
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (259)
name old new delta delta_pct
AST.ImportSetCacheHit 2,781,254 2,780,752 -502 -0.02%
AST.ImportSetCacheMiss 629,833 629,783 -50 -0.01%
AST.ImportSetFoldHit 190,812 190,803 -9 -0.0%
AST.ImportSetFoldMiss 439,020 438,980 -40 -0.01%
AST.ModuleShadowCacheHit 5,566 5,566 0 0.0%
AST.ModuleShadowCacheMiss 2,544 2,544 0 0.0%
AST.ModuleVisibilityCacheHit 64,736 64,736 0 0.0%
AST.ModuleVisibilityCacheMiss 11,323 11,323 0 0.0%
AST.NumASTBytesAllocated 70,990,507,585 71,150,212,357 159,704,772 0.22%
AST.NumASTScopeExpansions 8,092,750 8,092,738 -12 -0.0%
AST.NumASTScopeLookups 8,051,156 8,051,050 -106 -0.0%
AST.NumDecls 194,158 194,158 0 0.0%
AST.NumDependencies 508,818 508,780 -38 -0.01%
AST.NumIncrementalDependencies 21,509 21,509 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 405,365 405,365 0 0.0%
AST.NumLocalTypeDecls 317 317 0 0.0%
AST.NumModuleLookupClassMember 8,258 8,258 0 0.0%
AST.NumModuleLookupValue 73,883,032 73,866,212 -16,820 -0.02%
AST.NumObjCMethods 30,188 30,188 0 0.0%
AST.NumOperators 810 810 0 0.0%
AST.NumPrecedenceGroups 136 136 0 0.0%
AST.NumReferencedDynamicNames 206 206 0 0.0%
AST.NumReferencedMemberNames 14,054,382 14,054,381 -1 -0.0%
AST.NumReferencedTopLevelNames 1,440,775 1,440,775 0 0.0%
AST.NumSourceBuffers 515,497 515,497 0 0.0%
AST.NumSourceLines 6,444,690 6,444,690 0 0.0%
AST.NumSourceLinesPerSecond 5,007,541 5,020,445 12,904 0.26%
AST.NumTotalClangImportedEntities 5,321,040 5,314,903 -6,137 -0.12%
Driver.ChildrenMaxRSS 280,244,498,432 280,646,895,616 402,397,184 0.14%
Driver.DriverDepCascadingDynamic 0 0 0 0.0%
Driver.DriverDepCascadingExternal 0 0 0 0.0%
Driver.DriverDepCascadingMember 0 0 0 0.0%
Driver.DriverDepCascadingNominal 0 0 0 0.0%
Driver.DriverDepCascadingTopLevel 0 0 0 0.0%
Driver.DriverDepDynamic 0 0 0 0.0%
Driver.DriverDepExternal 0 0 0 0.0%
Driver.DriverDepMember 0 0 0 0.0%
Driver.DriverDepNominal 0 0 0 0.0%
Driver.DriverDepTopLevel 0 0 0 0.0%
Driver.NumDriverJobsRun 35,658 35,658 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumDriverPipePolls 111,979 111,196 -783 -0.7%
Driver.NumDriverPipeReads 97,727 96,929 -798 -0.82%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.MaxMallocUsage 960,170,917,728 960,141,606,064 -29,311,664 -0.0%
Frontend.NumInstructionsExecuted 68,930,322,496,371 68,893,944,431,131 -36,378,065,240 -0.05%
Frontend.NumProcessFailures 0 0 0 0.0%
IRGen.IRGenRequest 33,898 33,898 0 0.0%
IRGen.OptimizedIRRequest 0 0 0 0.0%
IRGen.SymbolObjectCodeRequest 0 0 0 0.0%
IRModule.NumGOTEntries 326,471 326,471 0 0.0%
IRModule.NumIRAliases 264,187 264,187 0 0.0%
IRModule.NumIRBasicBlocks 10,526,196 10,526,196 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 4,806,558 4,806,558 0 0.0%
IRModule.NumIRGlobals 4,723,341 4,723,341 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 108,087,328 108,087,328 0 0.0%
IRModule.NumIRNamedMetaData 171,710 171,710 0 0.0%
IRModule.NumIRValueSymbols 8,870,054 8,870,054 0 0.0%
LLVM.NumLLVMBytesOutput 2,411,624,108 2,411,643,828 19,720 0.0%
Parse.CodeCompletionSecondPassRequest 0 0 0 0.0%
Parse.NumFunctionsParsed 382,176 382,176 0 0.0%
Parse.NumIterableDeclContextParsed 886,477 886,467 -10 -0.0%
Parse.ParseAbstractFunctionBodyRequest 359,018 359,018 0 0.0%
Parse.ParseMembersRequest 1,265,209 1,265,199 -10 -0.0%
Parse.ParseSourceFileRequest 502,847 502,847 0 0.0%
SILGen.ASTLoweringRequest 35,603 35,603 0 0.0%
SILGen.ParseSILModuleRequest 0 0 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 3,118,225 3,118,225 0 0.0%
SILModule.NumSILGenGlobalVariables 88,850 88,850 0 0.0%
SILModule.NumSILGenVtables 38,916 38,916 0 0.0%
SILModule.NumSILGenWitnessTables 187,769 187,769 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 3,842,448 3,842,448 0 0.0%
SILModule.NumSILOptGlobalVariables 91,240 91,240 0 0.0%
SILModule.NumSILOptVtables 39,064 39,064 0 0.0%
SILModule.NumSILOptWitnessTables 253,044 253,044 0 0.0%
SILOptimizer.ExecuteSILPipelineRequest 137,363 137,363 0 0.0%
SILOptimizer.LoweredSILRequest 0 0 0 0.0%
Sema.ABIMembersRequest 34,454 34,454 0 0.0%
Sema.AbstractGenericSignatureRequest 51,168 51,168 0 0.0%
Sema.AccessLevelRequest 23,059,794 23,184,293 124,499 0.54%
Sema.ActorIsolationRequest 1,505,911 1,505,911 0 0.0%
Sema.AllMembersRequest 250,952 250,952 0 0.0%
Sema.AnyObjectLookupRequest 302 302 0 0.0%
Sema.ApplyAccessNoteRequest 2,947,361 2,947,160 -201 -0.01%
Sema.AreAllStoredPropertiesDefaultInitableRequest 29,982 29,982 0 0.0%
Sema.AttachedPropertyWrapperTypeRequest 16,286 16,286 0 0.0%
Sema.AttachedPropertyWrappersRequest 192,494,899 192,704,663 209,764 0.11%
Sema.AttachedResultBuilderRequest 977,469 977,469 0 0.0%
Sema.BodyInitKindRequest 66,599 66,599 0 0.0%
Sema.CallerSideDefaultArgExprRequest 133,094 133,094 0 0.0%
Sema.CanBeAsyncHandlerRequest 319,804 319,804 0 0.0%
Sema.CheckInconsistentImplementationOnlyImportsRequest 13,641 13,641 0 0.0%
Sema.CheckRedeclarationRequest 1,378,256 1,378,256 0 0.0%
Sema.ClassAncestryFlagsRequest 141,598 141,598 0 0.0%
Sema.ClosureHasExplicitResultRequest 129,484 129,484 0 0.0%
Sema.CodeCompletionFileRequest 0 0 0 0.0%
Sema.CompareDeclSpecializationRequest 697,003 696,116 -887 -0.13%
Sema.ConditionalRequirementsRequest 731,765 731,521 -244 -0.03%
Sema.ConformanceHasEffectRequest 0 0 0 0.0%
Sema.CursorInfoRequest 0 0 0 0.0%
Sema.CustomAttrNominalRequest 2,244 2,244 0 0.0%
Sema.CustomAttrTypeRequest 814 814 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 82,353 82,353 0 0.0%
Sema.DefaultArgumentExprRequest 52,802 52,802 0 0.0%
Sema.DefaultArgumentInitContextRequest 350 350 0 0.0%
Sema.DefaultDefinitionTypeRequest 9,547 9,547 0 0.0%
Sema.DefaultTypeRequest 380,318 380,318 0 0.0%
Sema.DerivativeAttrOriginalDeclRequest 16 16 0 0.0%
Sema.DifferentiableAttributeTypeCheckRequest 0 0 0 0.0%
Sema.DirectLookupRequest 51,506,545 51,481,744 -24,801 -0.05%
Sema.DirectOperatorLookupRequest 2,716,430 2,716,066 -364 -0.01%
Sema.DirectPrecedenceGroupLookupRequest 804,616 804,616 0 0.0%
Sema.DynamicallyReplacedDeclRequest 1,564,005 1,564,005 0 0.0%
Sema.EnumRawTypeRequest 34,852 34,852 0 0.0%
Sema.EnumRawValuesRequest 15,763 15,763 0 0.0%
Sema.ExistentialConformsToSelfRequest 26,117 26,104 -13 -0.05%
Sema.ExistentialTypeSupportedRequest 22,343 22,343 0 0.0%
Sema.ExtendedNominalRequest 887,603 887,603 0 0.0%
Sema.ExtendedTypeRequest 108,874 108,875 1 0.0%
Sema.FragileFunctionKindRequest 2,176,484 2,176,484 0 0.0%
Sema.FunctionOperatorRequest 86,933 86,933 0 0.0%
Sema.GenericParamListRequest 6,944,708 6,937,413 -7,295 -0.11%
Sema.GenericSignatureRequest 3,851,656 3,848,651 -3,005 -0.08%
Sema.GetDestructorRequest 34,005 34,005 0 0.0%
Sema.GetImplicitSendableRequest 317,690 316,246 -1,444 -0.45%
Sema.GlobalActorAttributeRequest 1,796,118 1,796,118 0 0.0%
Sema.GlobalActorInstanceRequest 222 222 0 0.0%
Sema.HasCircularInheritedProtocolsRequest 13,916 13,916 0 0.0%
Sema.HasCircularRawValueRequest 13,572 13,572 0 0.0%
Sema.HasDefaultInitRequest 75,506 75,506 0 0.0%
Sema.HasDynamicCallableAttributeRequest 0 0 0 0.0%
Sema.HasDynamicMemberLookupAttributeRequest 822,603 822,280 -323 -0.04%
Sema.HasImplementationOnlyImportsRequest 497,746 497,746 0 0.0%
Sema.HasMemberwiseInitRequest 32,351 32,351 0 0.0%
Sema.HasMissingDesignatedInitializersRequest 32,421 32,421 0 0.0%
Sema.HasUserDefinedDesignatedInitRequest 75,518 75,518 0 0.0%
Sema.InferredGenericSignatureRequest 218,297 218,300 3 0.0%
Sema.InheritedDeclsReferencedRequest 9,004,521 8,982,088 -22,433 -0.25%
Sema.InheritedProtocolsRequest 840,943 840,212 -731 -0.09%
Sema.InheritedTypeRequest 360,572 360,468 -104 -0.03%
Sema.InheritsSuperclassInitializersRequest 35,973 35,973 0 0.0%
Sema.InitKindRequest 130,042 130,042 0 0.0%
Sema.IsABICompatibleOverrideRequest 187,231 187,231 0 0.0%
Sema.IsAccessorTransparentRequest 456,097 456,097 0 0.0%
Sema.IsActorRequest 680,107 679,184 -923 -0.14%
Sema.IsAsyncHandlerRequest 2,095,776 2,095,331 -445 -0.02%
Sema.IsCallableNominalTypeRequest 3,522 3,522 0 0.0%
Sema.IsDeclApplicableRequest 0 0 0 0.0%
Sema.IsDeclRefinementOfRequest 51,745 51,745 0 0.0%
Sema.IsDefaultActorRequest 58,151 58,151 0 0.0%
Sema.IsDynamicRequest 2,471,010 2,471,010 0 0.0%
Sema.IsFinalRequest 3,996,867 3,990,520 -6,347 -0.16%
Sema.IsGetterMutatingRequest 598,475 598,475 0 0.0%
Sema.IsImplicitlyUnwrappedOptionalRequest 3,471,332 3,470,546 -786 -0.02%
Sema.IsObjCRequest 2,205,925 2,205,724 -201 -0.01%
Sema.IsSetterMutatingRequest 485,758 485,758 0 0.0%
Sema.IsStaticRequest 2,910,881 2,910,485 -396 -0.01%
Sema.LazyStoragePropertyRequest 3,259 3,259 0 0.0%
Sema.LookupAllConformancesInContextRequest 2,770,778 2,763,032 -7,746 -0.28%
Sema.LookupInModuleRequest 9,518,260 9,505,094 -13,166 -0.14%
Sema.LookupInfixOperatorRequest 117,509 117,509 0 0.0%
Sema.LookupPostfixOperatorRequest 189 189 0 0.0%
Sema.LookupPrecedenceGroupRequest 35,262 35,262 0 0.0%
Sema.LookupPrefixOperatorRequest 953 953 0 0.0%
Sema.MangleLocalTypeDeclRequest 634 634 0 0.0%
Sema.ModuleImplicitImportsRequest 15,324 15,324 0 0.0%
Sema.ModuleQualifiedLookupRequest 4,502,378 4,489,322 -13,056 -0.29%
Sema.NamedLazyMemberLoadSuccessCount 29,396,677 29,379,174 -17,503 -0.06%
Sema.NamingPatternRequest 331,912 331,909 -3 -0.0%
Sema.NeedsNewVTableEntryRequest 976,330 976,330 0 0.0%
Sema.NumAccessorBodiesSynthesized 277,654 277,654 0 0.0%
Sema.NumAccessorsSynthesized 424,458 424,458 0 0.0%
Sema.NumConformancesDeserialized 14,973,534 14,943,895 -29,639 -0.2%
Sema.NumConstraintScopes 33,544,691 33,542,474 -2,217 -0.01%
Sema.NumConstraintsConsideredForEdgeContraction 3,231,570 3,231,570 0 0.0%
Sema.NumCrossImportsChecked 0 0 0 0.0%
Sema.NumCrossImportsFound 0 0 0 0.0%
Sema.NumCyclicOneWayComponentsCollapsed 554 554 0 0.0%
Sema.NumDeclsDeserialized 118,291,955 118,775,860 483,905 0.41%
Sema.NumDeclsTypechecked 1,977,467 1,977,467 0 0.0%
Sema.NumLazyIterableDeclContexts 13,157,253 13,138,420 -18,833 -0.14%
Sema.NumLazyRequirementSignatures 1,257,476 1,256,780 -696 -0.06%
Sema.NumLazyRequirementSignaturesLoaded 851,909 851,118 -791 -0.09%
Sema.NumLeafScopes 21,797,282 21,795,655 -1,627 -0.01%
Sema.NumTypesDeserialized 35,085,379 35,076,821 -8,558 -0.02%
Sema.NumUnloadedLazyIterableDeclContexts 7,635,154 7,627,892 -7,262 -0.1%
Sema.OpaqueReadOwnershipRequest 391,820 391,820 0 0.0%
Sema.OpaqueResultTypeRequest 425 425 0 0.0%
Sema.OperatorPrecedenceGroupRequest 935 935 0 0.0%
Sema.OverriddenDeclsRequest 4,090,848 4,085,272 -5,576 -0.14%
Sema.ParamSpecifierRequest 1,756,004 1,756,005 1 0.0%
Sema.PatternBindingEntryRequest 679,596 679,593 -3 -0.0%
Sema.PatternTypeRequest 790,587 790,584 -3 -0.0%
Sema.PolymorphicEffectKindRequest 159,242 159,242 0 0.0%
Sema.PolymorphicEffectRequirementsRequest 0 0 0 0.0%
Sema.PreCheckResultBuilderRequest 962 962 0 0.0%
Sema.PrimarySourceFilesRequest 15,324 15,324 0 0.0%
Sema.PropertyWrapperAuxiliaryVariablesRequest 1,950,092 1,950,092 0 0.0%
Sema.PropertyWrapperBackingPropertyTypeRequest 16,286 16,286 0 0.0%
Sema.PropertyWrapperInitializerInfoRequest 488,057 488,057 0 0.0%
Sema.PropertyWrapperLValuenessRequest 646 646 0 0.0%
Sema.PropertyWrapperMutabilityRequest 842,504 842,504 0 0.0%
Sema.PropertyWrapperTypeInfoRequest 248 248 0 0.0%
Sema.ProtocolRequiresClassRequest 52,552 52,492 -60 -0.11%
Sema.QualifiedLookupRequest 8,920,205 8,917,115 -3,090 -0.03%
Sema.RangeInfoRequest 0 0 0 0.0%
Sema.RequirementRequest 136,089 136,090 1 0.0%
Sema.RequirementSignatureRequest 938,117 937,190 -927 -0.1%
Sema.RequiresOpaqueAccessorsRequest 1,808,285 1,808,285 0 0.0%
Sema.RequiresOpaqueModifyCoroutineRequest 375,172 375,172 0 0.0%
Sema.ResolveEffectiveMemberwiseInitRequest 0 0 0 0.0%
Sema.ResolveImplicitMemberRequest 631,429 631,352 -77 -0.01%
Sema.ResolveProtocolNameRequest 0 0 0 0.0%
Sema.ResolveTypeEraserTypeRequest 0 0 0 0.0%
Sema.ResolveTypeRequest 4,554,846 4,554,864 18 0.0%
Sema.ResultBuilderTypeRequest 500,375 500,375 0 0.0%
Sema.ResultTypeRequest 943,263 943,264 1 0.0%
Sema.RootAndResultTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.RootTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.SPIGroupsRequest 8,908,990 8,904,047 -4,943 -0.06%
Sema.ScopedImportLookupRequest 1,173 1,173 0 0.0%
Sema.SelfAccessKindRequest 1,048,438 1,048,073 -365 -0.03%
Sema.SelfBoundsFromWhereClauseRequest 2,347,791 2,343,088 -4,703 -0.2%
Sema.SetterAccessLevelRequest 219,843 219,843 0 0.0%
Sema.SimpleDidSetRequest 3,713,026 3,698,641 -14,385 -0.39%
Sema.SpecializeAttrTargetDeclRequest 5,380 5,380 0 0.0%
Sema.StorageImplInfoRequest 2,079,696 2,079,696 0 0.0%
Sema.StoredPropertiesAndMissingMembersRequest 85,424 85,424 0 0.0%
Sema.StoredPropertiesRequest 495,772 495,772 0 0.0%
Sema.StructuralTypeRequest 2,516 2,516 0 0.0%
Sema.SuperclassDeclRequest 637,825 637,373 -452 -0.07%
Sema.SuperclassTypeRequest 70,481 70,476 -5 -0.01%
Sema.SynthesizeAccessorRequest 424,458 424,458 0 0.0%
Sema.SynthesizeDefaultInitRequest 7,476 7,476 0 0.0%
Sema.SynthesizeMainFunctionRequest 135,502 135,502 0 0.0%
Sema.SynthesizeMemberwiseInitRequest 5,612 5,612 0 0.0%
Sema.TangentStoredPropertyRequest 0 0 0 0.0%
Sema.TypeCheckASTNodeAtLocRequest 0 0 0 0.0%
Sema.TypeCheckCompletionHandlerAsyncAttrRequest 0 0 0 0.0%
Sema.TypeCheckFunctionBodyRequest 731,566 731,566 0 0.0%
Sema.TypeCheckSourceFileRequest 34,342 34,342 0 0.0%
Sema.TypeDeclsFromWhereClauseRequest 37,726 37,726 0 0.0%
Sema.TypeEraserHasViableInitRequest 0 0 0 0.0%
Sema.TypeRelationCheckRequest 0 0 0 0.0%
Sema.TypeWitnessRequest 11,870 11,870 0 0.0%
Sema.UnderlyingTypeDeclsReferencedRequest 460,791 459,947 -844 -0.18%
Sema.UnderlyingTypeRequest 51,569 51,568 -1 -0.0%
Sema.UnqualifiedLookupRequest 6,023,879 6,023,773 -106 -0.0%
Sema.ValidatePrecedenceGroupRequest 254,990 254,990 0 0.0%
Sema.ValueWitnessRequest 91,488 91,488 0 0.0%
TBDGen.APIGenRequest 0 0 0 0.0%
TBDGen.GenerateTBDRequest 0 0 0 0.0%
TBDGen.PublicSymbolsRequest 33,920 33,920 0 0.0%
TBDGen.SymbolSourceMapRequest 0 0 0 0.0%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 70,446,788,038,948 70,447,687,929,207 899,890,259 0.0%
LLVM.NumLLVMBytesOutput 2,425,491,464 2,425,490,240 -1,224 -0.0%
time.swift-driver.wall 12956.0s 12960.9s 4.8s 0.04%

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) (265)
name old new delta delta_pct
AST.ImportSetCacheHit 1,760,390 1,760,390 0 0.0%
AST.ImportSetCacheMiss 81,274 81,274 0 0.0%
AST.ImportSetFoldHit 33,924 33,924 0 0.0%
AST.ImportSetFoldMiss 47,350 47,350 0 0.0%
AST.ModuleShadowCacheHit 4,658 4,658 0 0.0%
AST.ModuleShadowCacheMiss 1,778 1,778 0 0.0%
AST.ModuleVisibilityCacheHit 39,846 39,846 0 0.0%
AST.ModuleVisibilityCacheMiss 4,645 4,645 0 0.0%
AST.NumASTBytesAllocated 13,417,777,360 13,418,728,980 951,620 0.01%
AST.NumASTScopeExpansions 4,028,311 4,028,311 0 0.0%
AST.NumASTScopeLookups 5,853,049 5,853,049 0 0.0%
AST.NumDecls 196,810 196,810 0 0.0%
AST.NumDependencies 75,543 75,537 -6 -0.01%
AST.NumIncrementalDependencies 0 0 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 39,246 39,246 0 0.0%
AST.NumLocalTypeDecls 317 317 0 0.0%
AST.NumModuleLookupClassMember 7,956 7,956 0 0.0%
AST.NumModuleLookupValue 38,116,568 38,116,568 0 0.0%
AST.NumObjCMethods 29,924 29,924 0 0.0%
AST.NumOperators 810 810 0 0.0%
AST.NumPrecedenceGroups 136 136 0 0.0%
AST.NumReferencedDynamicNames 0 0 0 0.0%
AST.NumReferencedMemberNames 3,976 3,976 0 0.0%
AST.NumReferencedTopLevelNames 352 352 0 0.0%
AST.NumSourceBuffers 40,801 40,801 0 0.0%
AST.NumSourceLines 6,531,633 6,531,633 0 0.0%
AST.NumSourceLinesPerSecond 499,583 499,932 349 0.07%
AST.NumTotalClangImportedEntities 642,372 642,372 0 0.0%
Driver.ChildrenMaxRSS 376,540,798,976 377,005,090,816 464,291,840 0.12%
Driver.DriverDepCascadingDynamic 0 0 0 0.0%
Driver.DriverDepCascadingExternal 0 0 0 0.0%
Driver.DriverDepCascadingMember 0 0 0 0.0%
Driver.DriverDepCascadingNominal 0 0 0 0.0%
Driver.DriverDepCascadingTopLevel 0 0 0 0.0%
Driver.DriverDepDynamic 0 0 0 0.0%
Driver.DriverDepExternal 0 0 0 0.0%
Driver.DriverDepMember 0 0 0 0.0%
Driver.DriverDepNominal 0 0 0 0.0%
Driver.DriverDepTopLevel 0 0 0 0.0%
Driver.NumDriverJobsRun 2,046 2,046 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumDriverPipePolls 95,093 94,264 -829 -0.87%
Driver.NumDriverPipeReads 93,047 92,218 -829 -0.89%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.MaxMallocUsage 239,827,070,672 240,229,854,752 402,784,080 0.17%
Frontend.NumInstructionsExecuted 70,446,788,038,948 70,447,687,929,207 899,890,259 0.0%
Frontend.NumProcessFailures 0 0 0 0.0%
IRGen.IRGenRequest 12 12 0 0.0%
IRGen.OptimizedIRRequest 0 0 0 0.0%
IRGen.SymbolObjectCodeRequest 0 0 0 0.0%
IRModule.NumGOTEntries 316,642 316,642 0 0.0%
IRModule.NumIRAliases 210,100 210,100 0 0.0%
IRModule.NumIRBasicBlocks 6,579,535 6,579,535 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 3,808,968 3,808,968 0 0.0%
IRModule.NumIRGlobals 4,276,604 4,276,604 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 63,203,916 63,203,916 0 0.0%
IRModule.NumIRNamedMetaData 174,900 174,900 0 0.0%
IRModule.NumIRValueSymbols 7,728,865 7,728,865 0 0.0%
LLVM.NumLLVMBytesOutput 2,425,491,464 2,425,490,240 -1,224 -0.0%
Parse.CodeCompletionSecondPassRequest 0 0 0 0.0%
Parse.NumFunctionsParsed 387,183 387,183 0 0.0%
Parse.NumIterableDeclContextParsed 131,558 131,558 0 0.0%
Parse.ParseAbstractFunctionBodyRequest 361,013 361,013 0 0.0%
Parse.ParseMembersRequest 682 682 0 0.0%
Parse.ParseSourceFileRequest 35,004 35,004 0 0.0%
SILGen.ASTLoweringRequest 1,730 1,730 0 0.0%
SILGen.ParseSILModuleRequest 0 0 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 1,728,491 1,728,491 0 0.0%
SILModule.NumSILGenGlobalVariables 88,788 88,788 0 0.0%
SILModule.NumSILGenVtables 23,745 23,745 0 0.0%
SILModule.NumSILGenWitnessTables 99,254 99,254 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 1,416,451 1,416,451 0 0.0%
SILModule.NumSILOptGlobalVariables 65,227 65,227 0 0.0%
SILModule.NumSILOptVtables 29,000 29,000 0 0.0%
SILModule.NumSILOptWitnessTables 101,645 101,645 0 0.0%
SILOptimizer.ExecuteSILPipelineRequest 6,908 6,908 0 0.0%
SILOptimizer.LoweredSILRequest 0 0 0 0.0%
Sema.ABIMembersRequest 24,887 24,887 0 0.0%
Sema.AbstractGenericSignatureRequest 36,716 36,716 0 0.0%
Sema.AccessLevelRequest 2,197,861 2,197,861 0 0.0%
Sema.ActorIsolationRequest 927,693 927,693 0 0.0%
Sema.AllMembersRequest 128,139 128,139 0 0.0%
Sema.AnyObjectLookupRequest 302 302 0 0.0%
Sema.ApplyAccessNoteRequest 2,270,134 2,270,134 0 0.0%
Sema.AreAllStoredPropertiesDefaultInitableRequest 19,141 19,141 0 0.0%
Sema.AttachedPropertyWrapperTypeRequest 10,035 10,035 0 0.0%
Sema.AttachedPropertyWrappersRequest 153,285,592 153,298,262 12,670 0.01%
Sema.AttachedResultBuilderRequest 946,176 946,176 0 0.0%
Sema.BodyInitKindRequest 65,320 65,320 0 0.0%
Sema.CallerSideDefaultArgExprRequest 133,073 133,073 0 0.0%
Sema.CanBeAsyncHandlerRequest 250,140 250,140 0 0.0%
Sema.CheckInconsistentImplementationOnlyImportsRequest 1,726 1,726 0 0.0%
Sema.CheckRedeclarationRequest 1,400,319 1,400,319 0 0.0%
Sema.ClassAncestryFlagsRequest 64,338 64,338 0 0.0%
Sema.ClosureHasExplicitResultRequest 128,458 128,458 0 0.0%
Sema.CodeCompletionFileRequest 0 0 0 0.0%
Sema.CollectOverriddenDeclsRequest 0 0 0 0.0%
Sema.CompareDeclSpecializationRequest 532,016 532,016 0 0.0%
Sema.ConditionalRequirementsRequest 257,494 257,494 0 0.0%
Sema.ConformanceHasEffectRequest 0 0 0 0.0%
Sema.CursorInfoRequest 0 0 0 0.0%
Sema.CustomAttrNominalRequest 533 533 0 0.0%
Sema.CustomAttrTypeRequest 373 373 0 0.0%
Sema.DefaultAndMaxAccessLevelRequest 56,539 56,539 0 0.0%
Sema.DefaultArgumentExprRequest 53,213 53,213 0 0.0%
Sema.DefaultArgumentInitContextRequest 126 126 0 0.0%
Sema.DefaultDefinitionTypeRequest 4,092 4,092 0 0.0%
Sema.DefaultTypeRequest 365,850 365,850 0 0.0%
Sema.DerivativeAttrOriginalDeclRequest 8 8 0 0.0%
Sema.DifferentiableAttributeTypeCheckRequest 0 0 0 0.0%
Sema.DirectLookupRequest 43,028,955 43,028,824 -131 -0.0%
Sema.DirectOperatorLookupRequest 1,569,607 1,569,607 0 0.0%
Sema.DirectPrecedenceGroupLookupRequest 751,479 751,479 0 0.0%
Sema.DynamicallyReplacedDeclRequest 1,122,296 1,122,296 0 0.0%
Sema.EnumRawTypeRequest 13,651 13,651 0 0.0%
Sema.EnumRawValuesRequest 14,461 14,461 0 0.0%
Sema.ExistentialConformsToSelfRequest 6,815 6,815 0 0.0%
Sema.ExistentialTypeSupportedRequest 11,134 11,134 0 0.0%
Sema.ExtendedNominalRequest 61,527 61,527 0 0.0%
Sema.ExtendedTypeRequest 61,495 61,495 0 0.0%
Sema.FragileFunctionKindRequest 1,419,550 1,419,550 0 0.0%
Sema.FunctionOperatorRequest 12,511 12,511 0 0.0%
Sema.GenericParamListRequest 1,668,680 1,668,680 0 0.0%
Sema.GenericSignatureRequest 1,420,124 1,420,124 0 0.0%
Sema.GetDestructorRequest 24,683 24,683 0 0.0%
Sema.GetImplicitSendableRequest 57,552 57,552 0 0.0%
Sema.GlobalActorAttributeRequest 1,149,538 1,149,538 0 0.0%
Sema.GlobalActorInstanceRequest 61 61 0 0.0%
Sema.HasCircularInheritedProtocolsRequest 11,512 11,512 0 0.0%
Sema.HasCircularRawValueRequest 13,650 13,650 0 0.0%
Sema.HasDefaultInitRequest 42,315 42,315 0 0.0%
Sema.HasDynamicCallableAttributeRequest 0 0 0 0.0%
Sema.HasDynamicMemberLookupAttributeRequest 349,888 349,888 0 0.0%
Sema.HasImplementationOnlyImportsRequest 34,841 34,841 0 0.0%
Sema.HasMemberwiseInitRequest 18,578 18,578 0 0.0%
Sema.HasMissingDesignatedInitializersRequest 25,646 25,646 0 0.0%
Sema.HasUserDefinedDesignatedInitRequest 42,315 42,315 0 0.0%
Sema.InferredGenericSignatureRequest 91,562 91,562 0 0.0%
Sema.InheritedDeclsReferencedRequest 1,513,020 1,513,020 0 0.0%
Sema.InheritedProtocolsRequest 135,620 135,620 0 0.0%
Sema.InheritedTypeRequest 209,530 209,530 0 0.0%
Sema.InheritsSuperclassInitializersRequest 18,664 18,664 0 0.0%
Sema.InitKindRequest 80,960 80,960 0 0.0%
Sema.InterfaceTypeRequest 4,504,504 4,506,044 1,540 0.03%
Sema.IsABICompatibleOverrideRequest 186,187 186,187 0 0.0%
Sema.IsAccessorTransparentRequest 372,689 372,689 0 0.0%
Sema.IsActorRequest 166,051 166,051 0 0.0%
Sema.IsAsyncHandlerRequest 990,362 990,362 0 0.0%
Sema.IsCallableNominalTypeRequest 2,958 2,958 0 0.0%
Sema.IsDeclApplicableRequest 0 0 0 0.0%
Sema.IsDeclRefinementOfRequest 31,940 31,940 0 0.0%
Sema.IsDefaultActorRequest 34,892 34,892 0 0.0%
Sema.IsDynamicRequest 1,736,209 1,736,209 0 0.0%
Sema.IsFinalRequest 1,372,106 1,372,106 0 0.0%
Sema.IsGetterMutatingRequest 453,305 453,305 0 0.0%
Sema.IsImplicitlyUnwrappedOptionalRequest 2,643,472 2,643,472 0 0.0%
Sema.IsObjCRequest 1,515,753 1,515,753 0 0.0%
Sema.IsSetterMutatingRequest 436,516 436,516 0 0.0%
Sema.IsStaticRequest 783,961 783,961 0 0.0%
Sema.LazyStoragePropertyRequest 878 878 0 0.0%
Sema.LookupAllConformancesInContextRequest 146,130 146,130 0 0.0%
Sema.LookupConformanceInModuleRequest 89,909,649 89,907,617 -2,032 -0.0%
Sema.LookupInModuleRequest 3,086,371 3,086,371 0 0.0%
Sema.LookupInfixOperatorRequest 74,777 74,777 0 0.0%
Sema.LookupPostfixOperatorRequest 47 47 0 0.0%
Sema.LookupPrecedenceGroupRequest 34,365 34,365 0 0.0%
Sema.LookupPrefixOperatorRequest 186 186 0 0.0%
Sema.MangleLocalTypeDeclRequest 337 337 0 0.0%
Sema.ModuleImplicitImportsRequest 1,730 1,730 0 0.0%
Sema.ModuleQualifiedLookupRequest 573,901 573,901 0 0.0%
Sema.NamedLazyMemberLoadSuccessCount 11,331,869 11,331,684 -185 -0.0%
Sema.NamingPatternRequest 96,158 96,158 0 0.0%
Sema.NeedsNewVTableEntryRequest 762,625 762,625 0 0.0%
Sema.NumAccessorBodiesSynthesized 282,016 282,016 0 0.0%
Sema.NumAccessorsSynthesized 286,587 286,587 0 0.0%
Sema.NumConformancesDeserialized 4,570,067 4,570,067 0 0.0%
Sema.NumConstraintScopes 32,211,723 32,211,705 -18 -0.0%
Sema.NumConstraintsConsideredForEdgeContraction 3,208,546 3,208,546 0 0.0%
Sema.NumCrossImportsChecked 0 0 0 0.0%
Sema.NumCrossImportsFound 0 0 0 0.0%
Sema.NumCyclicOneWayComponentsCollapsed 554 554 0 0.0%
Sema.NumDeclsDeserialized 15,986,652 15,989,887 3,235 0.02%
Sema.NumDeclsTypechecked 2,008,034 2,008,034 0 0.0%
Sema.NumGenericSignatureBuilders 308,989 308,989 0 0.0%
Sema.NumLazyIterableDeclContexts 1,932,467 1,932,544 77 0.0%
Sema.NumLazyRequirementSignatures 163,096 163,096 0 0.0%
Sema.NumLazyRequirementSignaturesLoaded 125,038 125,038 0 0.0%
Sema.NumLeafScopes 20,796,811 20,796,799 -12 -0.0%
Sema.NumTypesDeserialized 7,096,495 7,099,379 2,884 0.04%
Sema.NumUnloadedLazyIterableDeclContexts 1,230,066 1,230,143 77 0.01%
Sema.OpaqueReadOwnershipRequest 255,486 255,486 0 0.0%
Sema.OpaqueResultTypeRequest 356 356 0 0.0%
Sema.OperatorPrecedenceGroupRequest 720 720 0 0.0%
Sema.OverriddenDeclsRequest 1,471,829 1,471,829 0 0.0%
Sema.ParamSpecifierRequest 1,087,059 1,087,059 0 0.0%
Sema.PatternBindingEntryRequest 425,216 425,216 0 0.0%
Sema.PatternTypeRequest 533,641 533,641 0 0.0%
Sema.PolymorphicEffectKindRequest 97,302 97,302 0 0.0%
Sema.PolymorphicEffectRequirementsRequest 0 0 0 0.0%
Sema.PreCheckResultBuilderRequest 888 888 0 0.0%
Sema.PrimarySourceFilesRequest 1,730 1,730 0 0.0%
Sema.PropertyWrapperAuxiliaryVariablesRequest 1,668,304 1,668,304 0 0.0%
Sema.PropertyWrapperBackingPropertyTypeRequest 10,035 10,035 0 0.0%
Sema.PropertyWrapperInitializerInfoRequest 486,559 486,559 0 0.0%
Sema.PropertyWrapperLValuenessRequest 646 646 0 0.0%
Sema.PropertyWrapperMutabilityRequest 691,445 691,445 0 0.0%
Sema.PropertyWrapperTypeInfoRequest 62 62 0 0.0%
Sema.ProtocolRequiresClassRequest 12,071 12,071 0 0.0%
Sema.ProvideDefaultImplForRequest 0 0 0 0.0%
Sema.QualifiedLookupRequest 5,320,589 5,320,589 0 0.0%
Sema.RangeInfoRequest 0 0 0 0.0%
Sema.RequirementRequest 90,124 90,124 0 0.0%
Sema.RequirementSignatureRequest 139,162 139,162 0 0.0%
Sema.RequiresOpaqueAccessorsRequest 1,602,171 1,602,171 0 0.0%
Sema.RequiresOpaqueModifyCoroutineRequest 252,342 252,342 0 0.0%
Sema.ResolveEffectiveMemberwiseInitRequest 0 0 0 0.0%
Sema.ResolveImplicitMemberRequest 472,743 472,743 0 0.0%
Sema.ResolveProtocolNameRequest 0 0 0 0.0%
Sema.ResolveTypeEraserTypeRequest 0 0 0 0.0%
Sema.ResolveTypeRequest 2,551,132 2,551,132 0 0.0%
Sema.ResultBuilderTypeRequest 463,274 463,274 0 0.0%
Sema.ResultTypeRequest 568,882 568,882 0 0.0%
Sema.RootAndResultTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.RootTypeOfKeypathDynamicMemberRequest 0 0 0 0.0%
Sema.SPIGroupsRequest 2,562,008 2,563,548 1,540 0.06%
Sema.ScopedImportLookupRequest 1,267 1,267 0 0.0%
Sema.SelfAccessKindRequest 441,880 441,880 0 0.0%
Sema.SelfBoundsFromWhereClauseRequest 603,752 603,752 0 0.0%
Sema.SetterAccessLevelRequest 183,594 183,594 0 0.0%
Sema.SimpleDidSetRequest 464,653 464,653 0 0.0%
Sema.SpecializeAttrTargetDeclRequest 2,923 2,923 0 0.0%
Sema.StorageImplInfoRequest 1,748,356 1,748,356 0 0.0%
Sema.StoredPropertiesAndMissingMembersRequest 57,193 57,193 0 0.0%
Sema.StoredPropertiesRequest 203,811 203,811 0 0.0%
Sema.StructuralTypeRequest 695 695 0 0.0%
Sema.SuperclassDeclRequest 136,336 136,336 0 0.0%
Sema.SuperclassTypeRequest 32,708 32,708 0 0.0%
Sema.SynthesizeAccessorRequest 286,587 286,587 0 0.0%
Sema.SynthesizeDefaultInitRequest 4,233 4,233 0 0.0%
Sema.SynthesizeMainFunctionRequest 128,119 128,119 0 0.0%
Sema.SynthesizeMemberwiseInitRequest 3,631 3,631 0 0.0%
Sema.TangentStoredPropertyRequest 0 0 0 0.0%
Sema.TypeCheckASTNodeAtLocRequest 0 0 0 0.0%
Sema.TypeCheckCompletionHandlerAsyncAttrRequest 0 0 0 0.0%
Sema.TypeCheckFunctionBodyRequest 739,622 739,622 0 0.0%
Sema.TypeCheckSourceFileRequest 34,980 34,980 0 0.0%
Sema.TypeDeclsFromWhereClauseRequest 28,682 28,682 0 0.0%
Sema.TypeEraserHasViableInitRequest 0 0 0 0.0%
Sema.TypeRelationCheckRequest 0 0 0 0.0%
Sema.TypeWitnessRequest 5,213 5,213 0 0.0%
Sema.USRGenerationRequest 546,740 546,740 0 0.0%
Sema.UnderlyingTypeDeclsReferencedRequest 77,710 77,710 0 0.0%
Sema.UnderlyingTypeRequest 26,445 26,445 0 0.0%
Sema.UnqualifiedLookupRequest 3,028,107 3,028,107 0 0.0%
Sema.ValidatePrecedenceGroupRequest 254,949 254,949 0 0.0%
Sema.ValueWitnessRequest 44,929 44,929 0 0.0%
TBDGen.APIGenRequest 0 0 0 0.0%
TBDGen.GenerateTBDRequest 0 0 0 0.0%
TBDGen.PublicSymbolsRequest 1,726 1,726 0 0.0%
TBDGen.SymbolSourceMapRequest 0 0 0 0.0%

@stephentyrone
Copy link
Contributor Author

@swift-ci please test

@stephentyrone stephentyrone force-pushed the concrete-simd-mask-operations-ii branch from 4698c3b to 7482758 Compare March 29, 2021 15:56
@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 4698c3bbce8a169b0f426a064015747aad578bbc

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 4698c3bbce8a169b0f426a064015747aad578bbc

@stephentyrone
Copy link
Contributor Author

@swift-ci please test macOS

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 748275845a48de0e5060f55bab5431f1d2ac4957

@stephentyrone stephentyrone force-pushed the concrete-simd-mask-operations-ii branch from 7482758 to 1abb400 Compare April 7, 2021 20:30
@stephentyrone
Copy link
Contributor Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Apr 8, 2021

Performance: -O

Regression OLD NEW DELTA RATIO
FlattenListLoop 1627 2516 +54.6% 0.65x (?)
FlattenListFlatMap 4377 6597 +50.7% 0.66x (?)
DictionaryKeysContainsNative 27 30 +11.1% 0.90x (?)
ArrayInitFromSlice 483 530 +9.7% 0.91x (?)
 
Improvement OLD NEW DELTA RATIO
SIMDRandomMask.Int8x64 5180 61 -98.8% 84.92x
SIMDRandomMask.Int64x64 15275 260 -98.3% 58.75x
SIMDRandomMask.Int8x16 514 37 -92.8% 13.89x
SIMDRandomMask.Int64x8 266 60 -77.4% 4.43x
SIMDRandomMask.Int64x2 101 31 -69.3% 3.26x
SIMDReduce.Int8x64.Cast 127 58 -54.3% 2.19x
StringFromLongWholeSubstringGeneric 6 5 -16.7% 1.20x
StringInterpolation 11700 10600 -9.4% 1.10x (?)
EqualSubstringSubstring 43 39 -9.3% 1.10x (?)
NSStringConversion.LongUTF8 574 529 -7.8% 1.09x (?)
SIMDReduce.Int32x16.Cast 54 50 -7.4% 1.08x
LessSubstringSubstring 42 39 -7.1% 1.08x
EqualStringSubstring 42 39 -7.1% 1.08x (?)
EqualSubstringSubstringGenericEquatable 42 39 -7.1% 1.08x (?)
EqualSubstringString 42 39 -7.1% 1.08x (?)
LessSubstringSubstringGenericComparable 42 39 -7.1% 1.08x
SortStringsUnicode 3105 2890 -6.9% 1.07x (?)
ObjectiveCBridgeStubToNSStringRef 118 110 -6.8% 1.07x (?)
SIMDReduce.Int32x16.Initializer 61 57 -6.6% 1.07x
 
Added MIN MAX MEAN MAX_RSS
SIMDRandomMask.Int64x2.Generic 3760 3760 3760
SIMDRandomMask.Int64x64.Generic 13570 14070 13737
SIMDRandomMask.Int64x8.Generic 3780 3780 3780
SIMDRandomMask.Int8x16.Generic 4170 4170 4170
SIMDRandomMask.Int8x64.Generic 7270 7400 7353

Code size: -O

Regression OLD NEW DELTA RATIO
SIMDRandomMask.o 6989 18997 +171.8% 0.37x
 
Improvement OLD NEW DELTA RATIO
SIMDReduceInteger.o 10700 9452 -11.7% 1.13x

Performance: -Osize

Regression OLD NEW DELTA RATIO
ArrayInitFromSlice 485 530 +9.3% 0.92x (?)
SIMDReduce.Int32x4.Cast 66 72 +9.1% 0.92x
AngryPhonebook.ASCII2.Small 215 232 +7.9% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
SIMDRandomMask.Int8x64 5180 61 -98.8% 84.92x
SIMDRandomMask.Int64x64 15370 260 -98.3% 59.12x
SIMDRandomMask.Int8x16 516 37 -92.8% 13.95x
SIMDRandomMask.Int64x8 295 60 -79.7% 4.92x
SIMDRandomMask.Int64x2 100 31 -69.0% 3.23x
SIMDReduce.Int8x64.Cast 134 57 -57.5% 2.35x
StringFromLongWholeSubstringGeneric 6 5 -16.7% 1.20x
UTF8Decode_InitFromBytes_ascii_as_ascii 550 464 -15.6% 1.19x (?)
SIMDReduce.Int32x16.Cast 54 50 -7.4% 1.08x
EqualSubstringSubstring 42 39 -7.1% 1.08x (?)
EqualStringSubstring 42 39 -7.1% 1.08x (?)
EqualSubstringString 42 39 -7.1% 1.08x (?)
LessSubstringSubstringGenericComparable 42 39 -7.1% 1.08x (?)
EqualSubstringSubstringGenericEquatable 43 40 -7.0% 1.07x (?)
SortStringsUnicode 3125 2910 -6.9% 1.07x
ObjectiveCBridgeStubToNSStringRef 121 113 -6.6% 1.07x (?)
 
Added MIN MAX MEAN MAX_RSS
SIMDRandomMask.Int64x2.Generic 3520 3520 3520
SIMDRandomMask.Int64x64.Generic 13640 14110 13800
SIMDRandomMask.Int64x8.Generic 3770 3770 3770
SIMDRandomMask.Int8x16.Generic 4110 4110 4110
SIMDRandomMask.Int8x64.Generic 7150 7160 7157

Code size: -Osize

Regression OLD NEW DELTA RATIO
SIMDRandomMask.o 6521 14803 +127.0% 0.44x
 
Improvement OLD NEW DELTA RATIO
SIMDReduceInteger.o 8285 7700 -7.1% 1.08x

Performance: -Onone

Regression OLD NEW DELTA RATIO
DataAppendDataLargeToLarge 59600 65000 +9.1% 0.92x (?)
Histogram 7170 7758 +8.2% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
SIMDRandomMask.Int8x64 21222 294 -98.6% 72.18x
SIMDRandomMask.Int64x64 40051 1082 -97.3% 37.02x
SIMDRandomMask.Int8x16 5807 211 -96.4% 27.52x
SIMDRandomMask.Int64x8 3610 288 -92.0% 12.53x
SIMDRandomMask.Int64x2 1312 208 -84.1% 6.31x
SIMDReduce.Int8x64.Cast 2721 705 -74.1% 3.86x
SIMDReduce.Int32x16.Cast 1240 693 -44.1% 1.79x
SIMDReduce.Int8x16.Cast 1354 812 -40.0% 1.67x
SIMDReduce.Int32x4.Cast 969 799 -17.5% 1.21x
NSError 845 756 -10.5% 1.12x (?)
NSStringConversion.Rebridge 523 483 -7.6% 1.08x (?)
 
Added MIN MAX MEAN MAX_RSS
SIMDRandomMask.Int64x2.Generic 4800 4810 4807
SIMDRandomMask.Int64x64.Generic 41800 42790 42243
SIMDRandomMask.Int64x8.Generic 6860 6870 6867
SIMDRandomMask.Int8x16.Generic 8630 8640 8637
SIMDRandomMask.Int8x64.Generic 23230 24020 23500

Code size: -swiftlibs

Benchmark Check Report
⚠️ SIMDRandomMask.Int64x64.Generic execution took at least 1340 μs.
Decrease the workload of SIMDRandomMask.Int64x64.Generic by a factor of 2 (10), to be less than 1000 μs.
How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

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

@stephentyrone
Copy link
Contributor Author

@swift-ci test

@swift-ci
Copy link
Contributor

swift-ci commented Jul 6, 2021

Build failed
Swift Test Linux Platform
Git Sha - 33bad13

@swift-ci
Copy link
Contributor

swift-ci commented Jul 6, 2021

Build failed
Swift Test OS X Platform
Git Sha - 33bad13

@stephentyrone
Copy link
Contributor Author

@swift-ci test

- any(_:SIMDMask), all(_:SIMDMask)
- .min(), .max(), .wrappingSum()

Also adds test coverage to make sure we match the existing generic implementations and an internal binding for the x86 MOVMSK instructions.
@stephentyrone stephentyrone force-pushed the concrete-simd-mask-operations-ii branch from 33bad13 to c96b99e Compare May 23, 2023 23:30
@stephentyrone
Copy link
Contributor Author

@swift-ci test

1 similar comment
@stephentyrone
Copy link
Contributor Author

@swift-ci test

@stephentyrone
Copy link
Contributor Author

@swift-ci please benchmark

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.

2 participants