Skip to content

[experiment] perf testing immediate keyword for lib - #59580

Closed
Jake Bailey (jakebailey) wants to merge 32 commits into
microsoft:mainfrom
jakebailey:immediate
Closed

[experiment] perf testing immediate keyword for lib#59580
Jake Bailey (jakebailey) wants to merge 32 commits into
microsoft:mainfrom
jakebailey:immediate

Conversation

@jakebailey

Copy link
Copy Markdown
Member

#58729 but with the keyword in lib for testing.

# Conflicts:
#	src/compiler/diagnosticMessages.json
#	tests/baselines/reference/asyncYieldStarContextualType.types
#	tests/baselines/reference/awaitedType.types
#	tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types
#	tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types
#	tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types
#	tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types
#	tests/baselines/reference/destructureOfVariableSameAsShorthand.types
#	tests/baselines/reference/esModuleInteropImportCall.types
#	tests/baselines/reference/genericFunctionInference1.types
#	tests/baselines/reference/importCallExpression1ES2020.types
#	tests/baselines/reference/importCallExpression2ES2020.types
#	tests/baselines/reference/importCallExpression4ES2020.types
#	tests/baselines/reference/importCallExpressionES5AMD.types
#	tests/baselines/reference/importCallExpressionES5CJS.types
#	tests/baselines/reference/importCallExpressionES5System.types
#	tests/baselines/reference/importCallExpressionES5UMD.types
#	tests/baselines/reference/importCallExpressionES6AMD.types
#	tests/baselines/reference/importCallExpressionES6CJS.types
#	tests/baselines/reference/importCallExpressionES6System.types
#	tests/baselines/reference/importCallExpressionES6UMD.types
#	tests/baselines/reference/importCallExpressionErrorInES2015.types
#	tests/baselines/reference/importCallExpressionInAMD1.types
#	tests/baselines/reference/importCallExpressionInAMD2.types
#	tests/baselines/reference/importCallExpressionInAMD4.types
#	tests/baselines/reference/importCallExpressionInCJS1.types
#	tests/baselines/reference/importCallExpressionInCJS3.types
#	tests/baselines/reference/importCallExpressionInCJS5.types
#	tests/baselines/reference/importCallExpressionInSystem1.types
#	tests/baselines/reference/importCallExpressionInSystem2.types
#	tests/baselines/reference/importCallExpressionInSystem4.types
#	tests/baselines/reference/importCallExpressionInUMD1.types
#	tests/baselines/reference/importCallExpressionInUMD2.types
#	tests/baselines/reference/importCallExpressionInUMD4.types
#	tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types
#	tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types
#	tests/baselines/reference/importCallExpressionShouldNotGetParen.types
#	tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types
#	tests/baselines/reference/inferenceLimit.types
#	tests/baselines/reference/instantiateContextualTypes.types
#	tests/baselines/reference/mappedTypesGenericTuples2.types
#	tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types
#	tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types
#	tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types
#	tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types
#	tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types
#	tests/baselines/reference/moduleResolutionWithoutExtension5.types
#	tests/baselines/reference/moduleResolutionWithoutExtension8.types
#	tests/baselines/reference/privateNameMethodAsync.types
#	tests/baselines/reference/promisePermutations.types
#	tests/baselines/reference/promisePermutations2.types
#	tests/baselines/reference/promisePermutations3.types
#	tests/baselines/reference/promiseTest.types
#	tests/baselines/reference/promiseType.types
#	tests/baselines/reference/promiseTypeStrictNull.types
#	tests/baselines/reference/promiseVoidErrorCallback.types
#	tests/baselines/reference/promises.types
#	tests/baselines/reference/specializationError.types
#	tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types
#	tests/baselines/reference/truthinessPromiseCoercion.types
#	tests/baselines/reference/unionAndIntersectionInference1.types
#	tests/baselines/reference/unionOfClassCalls.types
# Conflicts:
#	tests/baselines/reference/asyncYieldStarContextualType.types
#	tests/baselines/reference/awaitedType.types
#	tests/baselines/reference/contextuallyTypeAsyncFunctionReturnTypeFromUnion.types
#	tests/baselines/reference/declarationEmitExportAliasVisibiilityMarking.types
#	tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types
#	tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types
#	tests/baselines/reference/destructureOfVariableSameAsShorthand.types
#	tests/baselines/reference/es2018ObjectAssign.types
#	tests/baselines/reference/esModuleInteropImportCall.types
#	tests/baselines/reference/genericFunctionInference1.types
#	tests/baselines/reference/importCallExpression1ES2020.types
#	tests/baselines/reference/importCallExpression2ES2020.types
#	tests/baselines/reference/importCallExpression4ES2020.types
#	tests/baselines/reference/importCallExpressionES5AMD.types
#	tests/baselines/reference/importCallExpressionES5CJS.types
#	tests/baselines/reference/importCallExpressionES5System.types
#	tests/baselines/reference/importCallExpressionES5UMD.types
#	tests/baselines/reference/importCallExpressionES6AMD.types
#	tests/baselines/reference/importCallExpressionES6CJS.types
#	tests/baselines/reference/importCallExpressionES6System.types
#	tests/baselines/reference/importCallExpressionES6UMD.types
#	tests/baselines/reference/importCallExpressionErrorInES2015.types
#	tests/baselines/reference/importCallExpressionInAMD1.types
#	tests/baselines/reference/importCallExpressionInAMD2.types
#	tests/baselines/reference/importCallExpressionInAMD4.types
#	tests/baselines/reference/importCallExpressionInCJS1.types
#	tests/baselines/reference/importCallExpressionInCJS3.types
#	tests/baselines/reference/importCallExpressionInCJS5.types
#	tests/baselines/reference/importCallExpressionInSystem1.types
#	tests/baselines/reference/importCallExpressionInSystem2.types
#	tests/baselines/reference/importCallExpressionInSystem4.types
#	tests/baselines/reference/importCallExpressionInUMD1.types
#	tests/baselines/reference/importCallExpressionInUMD2.types
#	tests/baselines/reference/importCallExpressionInUMD4.types
#	tests/baselines/reference/importCallExpressionNoModuleKindSpecified.types
#	tests/baselines/reference/importCallExpressionReturnPromiseOfAny.types
#	tests/baselines/reference/importCallExpressionShouldNotGetParen.types
#	tests/baselines/reference/importCallExpressionSpecifierNotStringTypeError.types
#	tests/baselines/reference/inferenceLimit.types
#	tests/baselines/reference/instantiateContextualTypes.types
#	tests/baselines/reference/mappedTypesGenericTuples2.types
#	tests/baselines/reference/modularizeLibrary_Dom.asynciterable.types
#	tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types
#	tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types
#	tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types
#	tests/baselines/reference/modularizeLibrary_Worker.asynciterable.types
#	tests/baselines/reference/moduleResolutionWithoutExtension5.types
#	tests/baselines/reference/moduleResolutionWithoutExtension8.types
#	tests/baselines/reference/privateNameMethodAsync.types
#	tests/baselines/reference/promisePermutations.types
#	tests/baselines/reference/promisePermutations2.types
#	tests/baselines/reference/promisePermutations3.types
#	tests/baselines/reference/promiseTest.types
#	tests/baselines/reference/promiseType.types
#	tests/baselines/reference/promiseTypeStrictNull.types
#	tests/baselines/reference/promiseVoidErrorCallback.types
#	tests/baselines/reference/syntheticDefaultExportsWithDynamicImports.types
#	tests/baselines/reference/truthinessPromiseCoercion.types
#	tests/baselines/reference/unionAndIntersectionInference1.types
#	tests/baselines/reference/unionOfClassCalls.types
#	tests/baselines/reference/usePromiseFinally.types
# Conflicts:
#	src/compiler/diagnosticMessages.json
#	src/compiler/utilities.ts
@jakebailey

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this faster

@typescript-bot

Copy link
Copy Markdown
Contributor

Looks like you're introducing a change to the public API surface area. If this includes breaking changes, please document them on our wiki's API Breaking Changes page.

Also, please make sure Daniel Rosenwasser (@DanielRosenwasser) and Ryan Cavanaugh (@RyanCavanaugh) are aware of the changes, just as a heads up.

@typescript-bot

TypeScript Bot (typescript-bot) commented Aug 9, 2024

Copy link
Copy Markdown
Contributor

Starting jobs; this comment will be updated as builds start and complete.

CommandStatusResults
perf test this faster✅ Started👀 Results

@typescript-bot

Copy link
Copy Markdown
Contributor

Jake Bailey (@jakebailey)
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Compiler-Unions - node (v18.15.0, x64)
Errors3030~~~p=1.000 n=6
Symbols62,15362,153~~~p=1.000 n=6
Types50,24250,242~~~p=1.000 n=6
Memory used192,978k (± 0.74%)192,573k (± 0.02%)~192,534k192,611kp=0.378 n=6
Parse Time1.30s (± 0.84%)1.31s (± 0.57%)~1.30s1.32sp=0.084 n=6
Bind Time0.71s0.75s🔻+0.04s (+ 5.63%)~~p=0.001 n=6
Check Time9.58s (± 0.31%)9.64s (± 0.23%)+0.05s (+ 0.57%)9.61s9.67sp=0.016 n=6
Emit Time2.71s (± 2.27%)2.72s (± 0.44%)~2.71s2.74sp=0.934 n=6
Total Time14.30s (± 0.47%)14.42s (± 0.18%)+0.12s (+ 0.83%)14.38s14.45sp=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors77~~~p=1.000 n=6
Symbols945,757945,752-5 (- 0.00%)~~p=0.001 n=6
Types410,045410,082+37 (+ 0.01%)~~p=0.001 n=6
Memory used1,222,514k (± 0.00%)1,223,055k (± 0.00%)+540k (+ 0.04%)1,223,021k1,223,101kp=0.005 n=6
Parse Time6.62s (± 0.45%)6.68s (± 0.64%)+0.06s (+ 0.88%)6.62s6.73sp=0.037 n=6
Bind Time1.86s (± 0.40%)1.91s (± 0.29%)+0.04s (+ 2.33%)1.90s1.91sp=0.004 n=6
Check Time31.02s (± 0.31%)31.22s (± 0.51%)~31.02s31.40sp=0.065 n=6
Emit Time14.96s (± 0.37%)14.98s (± 0.29%)~14.94s15.05sp=0.419 n=6
Total Time54.46s (± 0.22%)54.79s (± 0.18%)+0.33s (+ 0.60%)54.65s54.91sp=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,490,9842,491,007+23 (+ 0.00%)~~p=0.001 n=6
Types1,013,3351,013,351+16 (+ 0.00%)~~p=0.001 n=6
Memory used2,498,167k (± 0.00%)2,498,395k (± 0.00%)+228k (+ 0.01%)2,498,352k2,498,510kp=0.005 n=6
Parse Time9.24s (± 0.35%)9.23s (± 0.48%)~9.18s9.29sp=0.936 n=6
Bind Time2.18s (± 0.50%)2.20s (± 0.64%)+0.02s (+ 0.92%)2.18s2.22sp=0.032 n=6
Check Time75.93s (± 0.32%)75.91s (± 0.50%)~75.37s76.29sp=0.936 n=6
Emit Time0.28s (± 3.04%)0.28s (± 2.70%)~0.27s0.29sp=0.432 n=6
Total Time87.62s (± 0.26%)87.62s (± 0.44%)~87.13s88.03sp=0.810 n=6
self-build-src - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,6071,230,110+503 (+ 0.04%)~~p=0.001 n=6
Types264,075264,202+127 (+ 0.05%)~~p=0.001 n=6
Memory used2,349,551k (± 0.02%)2,352,428k (± 0.02%)+2,877k (+ 0.12%)2,351,670k2,353,075kp=0.005 n=6
Parse Time5.00s (± 0.74%)5.02s (± 0.64%)~4.97s5.06sp=0.298 n=6
Bind Time1.88s (± 0.73%)1.95s (± 0.53%)+0.07s (+ 3.73%)1.93s1.96sp=0.005 n=6
Check Time34.60s (± 0.36%)34.81s (± 0.24%)+0.21s (+ 0.60%)34.74s34.97sp=0.006 n=6
Emit Time3.29s (± 0.87%)3.33s (± 1.08%)~3.29s3.38sp=0.065 n=6
Total Time44.78s (± 0.29%)45.11s (± 0.24%)+0.33s (+ 0.74%)44.93s45.27sp=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols1,229,6071,230,110+503 (+ 0.04%)~~p=0.001 n=6
Types264,075264,202+127 (+ 0.05%)~~p=0.001 n=6
Memory used2,482,309k (± 5.82%)2,484,643k (± 5.84%)+2,334k (+ 0.09%)2,424,748k2,781,096kp=0.045 n=6
Parse Time6.23s (± 0.56%)6.30s (± 0.86%)~6.24s6.38sp=0.054 n=6
Bind Time2.02s (± 0.92%)2.34s (± 0.63%)🔻+0.31s (+15.47%)2.31s2.35sp=0.005 n=6
Check Time41.18s (± 0.77%)41.11s (± 0.80%)~40.58s41.61sp=1.000 n=6
Emit Time4.06s (± 2.02%)4.12s (± 3.91%)~3.99s4.44sp=0.336 n=6
Total Time53.51s (± 0.58%)53.89s (± 0.71%)~53.33s54.42sp=0.093 n=6
self-compiler - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols256,800256,936+136 (+ 0.05%)~~p=0.001 n=6
Types105,574105,644+70 (+ 0.07%)~~p=0.001 n=6
Memory used429,071k (± 0.03%)429,687k (± 0.02%)+617k (+ 0.14%)429,548k429,776kp=0.005 n=6
Parse Time4.16s (± 0.39%)4.16s (± 0.56%)~4.12s4.19sp=0.625 n=6
Bind Time1.61s (± 1.07%)1.64s (± 1.12%)+0.03s (+ 1.87%)1.62s1.66sp=0.023 n=6
Check Time22.33s (± 0.53%)22.39s (± 0.32%)~22.25s22.46sp=0.378 n=6
Emit Time2.03s (± 0.96%)2.04s (± 0.59%)~2.03s2.06sp=0.220 n=6
Total Time30.13s (± 0.41%)30.22s (± 0.26%)~30.09s30.31sp=0.173 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors3535~~~p=1.000 n=6
Symbols225,018225,018~~~p=1.000 n=6
Types94,24594,245~~~p=1.000 n=6
Memory used370,161k (± 0.02%)370,280k (± 0.02%)+119k (+ 0.03%)370,198k370,398kp=0.031 n=6
Parse Time3.45s (± 1.13%)3.44s (± 0.77%)~3.42s3.48sp=0.936 n=6
Bind Time1.92s (± 0.54%)2.00s (± 0.88%)+0.07s (+ 3.64%)1.98s2.03sp=0.004 n=6
Check Time19.37s (± 0.53%)19.50s (± 0.34%)+0.14s (+ 0.70%)19.41s19.57sp=0.037 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time24.74s (± 0.44%)24.94s (± 0.28%)+0.20s (+ 0.82%)24.86s25.03sp=0.008 n=6
vscode - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols2,998,3212,998,325+4 (+ 0.00%)~~p=0.001 n=6
Types1,032,9931,033,006+13 (+ 0.00%)~~p=0.001 n=6
Memory used3,123,630k (± 0.00%)3,124,142k (± 0.00%)+513k (+ 0.02%)3,124,082k3,124,250kp=0.005 n=6
Parse Time13.77s (± 0.41%)13.82s (± 0.25%)~13.78s13.87sp=0.092 n=6
Bind Time4.24s (± 0.29%)4.32s (± 1.82%)+0.08s (+ 1.85%)4.27s4.48sp=0.004 n=6
Check Time79.14s (± 0.26%)79.31s (± 0.19%)~79.12s79.50sp=0.173 n=6
Emit Time20.32s (± 0.54%)20.29s (± 0.30%)~20.22s20.38sp=0.810 n=6
Total Time117.47s (± 0.28%)117.74s (± 0.14%)~117.45s117.87sp=0.127 n=6
webpack - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols274,157274,157~~~p=1.000 n=6
Types111,784111,784~~~p=1.000 n=6
Memory used420,391k (± 0.03%)420,682k (± 0.02%)+292k (+ 0.07%)420,562k420,792kp=0.005 n=6
Parse Time3.94s (± 0.19%)3.95s (± 0.30%)~3.93s3.96sp=0.136 n=6
Bind Time1.71s (± 0.61%)1.76s (± 0.98%)+0.04s (+ 2.53%)1.74s1.78sp=0.005 n=6
Check Time17.13s (± 0.27%)17.33s (± 0.57%)+0.20s (+ 1.15%)17.21s17.48sp=0.005 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.79s (± 0.21%)23.04s (± 0.42%)+0.25s (+ 1.11%)22.90s23.18sp=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors00~~~p=1.000 n=6
Symbols540,823540,823~~~p=1.000 n=6
Types177,886177,886~~~p=1.000 n=6
Memory used483,281k (± 0.01%)483,566k (± 0.01%)+284k (+ 0.06%)483,513k483,617kp=0.005 n=6
Parse Time3.41s (± 0.47%)3.39s (± 0.34%)-0.02s (- 0.59%)3.38s3.41sp=0.040 n=6
Bind Time1.26s (± 0.32%)1.29s (± 0.65%)+0.04s (+ 2.91%)1.28s1.30sp=0.003 n=6
Check Time18.04s (± 0.23%)18.10s (± 0.27%)+0.06s (+ 0.34%)18.01s18.14sp=0.044 n=6
Emit Time0.00s0.00s~~~p=1.000 n=6
Total Time22.71s (± 0.14%)22.79s (± 0.20%)+0.08s (+ 0.36%)22.72s22.85sp=0.013 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@jakebailey@typescript-bot@ahejlsberg