Skip to content
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

[experiment] perf testing immediate keyword for lib #59580

Closed
wants to merge 32 commits into from

Conversation

jakebailey
Copy link
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
@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Aug 9, 2024
@jakebailey
Copy link
Member Author

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

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 @DanielRosenwasser and @RyanCavanaugh are aware of the changes, just as a heads up.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Aug 9, 2024

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

Command Status Results
perf test this faster ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@jakebailey
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,153 62,153 ~ ~ ~ p=1.000 n=6
Types 50,242 50,242 ~ ~ ~ p=1.000 n=6
Memory used 192,978k (± 0.74%) 192,573k (± 0.02%) ~ 192,534k 192,611k p=0.378 n=6
Parse Time 1.30s (± 0.84%) 1.31s (± 0.57%) ~ 1.30s 1.32s p=0.084 n=6
Bind Time 0.71s 0.75s 🔻+0.04s (+ 5.63%) ~ ~ p=0.001 n=6
Check Time 9.58s (± 0.31%) 9.64s (± 0.23%) +0.05s (+ 0.57%) 9.61s 9.67s p=0.016 n=6
Emit Time 2.71s (± 2.27%) 2.72s (± 0.44%) ~ 2.71s 2.74s p=0.934 n=6
Total Time 14.30s (± 0.47%) 14.42s (± 0.18%) +0.12s (+ 0.83%) 14.38s 14.45s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,757 945,752 -5 (- 0.00%) ~ ~ p=0.001 n=6
Types 410,045 410,082 +37 (+ 0.01%) ~ ~ p=0.001 n=6
Memory used 1,222,514k (± 0.00%) 1,223,055k (± 0.00%) +540k (+ 0.04%) 1,223,021k 1,223,101k p=0.005 n=6
Parse Time 6.62s (± 0.45%) 6.68s (± 0.64%) +0.06s (+ 0.88%) 6.62s 6.73s p=0.037 n=6
Bind Time 1.86s (± 0.40%) 1.91s (± 0.29%) +0.04s (+ 2.33%) 1.90s 1.91s p=0.004 n=6
Check Time 31.02s (± 0.31%) 31.22s (± 0.51%) ~ 31.02s 31.40s p=0.065 n=6
Emit Time 14.96s (± 0.37%) 14.98s (± 0.29%) ~ 14.94s 15.05s p=0.419 n=6
Total Time 54.46s (± 0.22%) 54.79s (± 0.18%) +0.33s (+ 0.60%) 54.65s 54.91s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,490,984 2,491,007 +23 (+ 0.00%) ~ ~ p=0.001 n=6
Types 1,013,335 1,013,351 +16 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 2,498,167k (± 0.00%) 2,498,395k (± 0.00%) +228k (+ 0.01%) 2,498,352k 2,498,510k p=0.005 n=6
Parse Time 9.24s (± 0.35%) 9.23s (± 0.48%) ~ 9.18s 9.29s p=0.936 n=6
Bind Time 2.18s (± 0.50%) 2.20s (± 0.64%) +0.02s (+ 0.92%) 2.18s 2.22s p=0.032 n=6
Check Time 75.93s (± 0.32%) 75.91s (± 0.50%) ~ 75.37s 76.29s p=0.936 n=6
Emit Time 0.28s (± 3.04%) 0.28s (± 2.70%) ~ 0.27s 0.29s p=0.432 n=6
Total Time 87.62s (± 0.26%) 87.62s (± 0.44%) ~ 87.13s 88.03s p=0.810 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,229,607 1,230,110 +503 (+ 0.04%) ~ ~ p=0.001 n=6
Types 264,075 264,202 +127 (+ 0.05%) ~ ~ p=0.001 n=6
Memory used 2,349,551k (± 0.02%) 2,352,428k (± 0.02%) +2,877k (+ 0.12%) 2,351,670k 2,353,075k p=0.005 n=6
Parse Time 5.00s (± 0.74%) 5.02s (± 0.64%) ~ 4.97s 5.06s p=0.298 n=6
Bind Time 1.88s (± 0.73%) 1.95s (± 0.53%) +0.07s (+ 3.73%) 1.93s 1.96s p=0.005 n=6
Check Time 34.60s (± 0.36%) 34.81s (± 0.24%) +0.21s (+ 0.60%) 34.74s 34.97s p=0.006 n=6
Emit Time 3.29s (± 0.87%) 3.33s (± 1.08%) ~ 3.29s 3.38s p=0.065 n=6
Total Time 44.78s (± 0.29%) 45.11s (± 0.24%) +0.33s (+ 0.74%) 44.93s 45.27s p=0.005 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,229,607 1,230,110 +503 (+ 0.04%) ~ ~ p=0.001 n=6
Types 264,075 264,202 +127 (+ 0.05%) ~ ~ p=0.001 n=6
Memory used 2,482,309k (± 5.82%) 2,484,643k (± 5.84%) +2,334k (+ 0.09%) 2,424,748k 2,781,096k p=0.045 n=6
Parse Time 6.23s (± 0.56%) 6.30s (± 0.86%) ~ 6.24s 6.38s p=0.054 n=6
Bind Time 2.02s (± 0.92%) 2.34s (± 0.63%) 🔻+0.31s (+15.47%) 2.31s 2.35s p=0.005 n=6
Check Time 41.18s (± 0.77%) 41.11s (± 0.80%) ~ 40.58s 41.61s p=1.000 n=6
Emit Time 4.06s (± 2.02%) 4.12s (± 3.91%) ~ 3.99s 4.44s p=0.336 n=6
Total Time 53.51s (± 0.58%) 53.89s (± 0.71%) ~ 53.33s 54.42s p=0.093 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 256,800 256,936 +136 (+ 0.05%) ~ ~ p=0.001 n=6
Types 105,574 105,644 +70 (+ 0.07%) ~ ~ p=0.001 n=6
Memory used 429,071k (± 0.03%) 429,687k (± 0.02%) +617k (+ 0.14%) 429,548k 429,776k p=0.005 n=6
Parse Time 4.16s (± 0.39%) 4.16s (± 0.56%) ~ 4.12s 4.19s p=0.625 n=6
Bind Time 1.61s (± 1.07%) 1.64s (± 1.12%) +0.03s (+ 1.87%) 1.62s 1.66s p=0.023 n=6
Check Time 22.33s (± 0.53%) 22.39s (± 0.32%) ~ 22.25s 22.46s p=0.378 n=6
Emit Time 2.03s (± 0.96%) 2.04s (± 0.59%) ~ 2.03s 2.06s p=0.220 n=6
Total Time 30.13s (± 0.41%) 30.22s (± 0.26%) ~ 30.09s 30.31s p=0.173 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,245 94,245 ~ ~ ~ p=1.000 n=6
Memory used 370,161k (± 0.02%) 370,280k (± 0.02%) +119k (+ 0.03%) 370,198k 370,398k p=0.031 n=6
Parse Time 3.45s (± 1.13%) 3.44s (± 0.77%) ~ 3.42s 3.48s p=0.936 n=6
Bind Time 1.92s (± 0.54%) 2.00s (± 0.88%) +0.07s (+ 3.64%) 1.98s 2.03s p=0.004 n=6
Check Time 19.37s (± 0.53%) 19.50s (± 0.34%) +0.14s (+ 0.70%) 19.41s 19.57s p=0.037 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.74s (± 0.44%) 24.94s (± 0.28%) +0.20s (+ 0.82%) 24.86s 25.03s p=0.008 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,998,321 2,998,325 +4 (+ 0.00%) ~ ~ p=0.001 n=6
Types 1,032,993 1,033,006 +13 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 3,123,630k (± 0.00%) 3,124,142k (± 0.00%) +513k (+ 0.02%) 3,124,082k 3,124,250k p=0.005 n=6
Parse Time 13.77s (± 0.41%) 13.82s (± 0.25%) ~ 13.78s 13.87s p=0.092 n=6
Bind Time 4.24s (± 0.29%) 4.32s (± 1.82%) +0.08s (+ 1.85%) 4.27s 4.48s p=0.004 n=6
Check Time 79.14s (± 0.26%) 79.31s (± 0.19%) ~ 79.12s 79.50s p=0.173 n=6
Emit Time 20.32s (± 0.54%) 20.29s (± 0.30%) ~ 20.22s 20.38s p=0.810 n=6
Total Time 117.47s (± 0.28%) 117.74s (± 0.14%) ~ 117.45s 117.87s p=0.127 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 274,157 274,157 ~ ~ ~ p=1.000 n=6
Types 111,784 111,784 ~ ~ ~ p=1.000 n=6
Memory used 420,391k (± 0.03%) 420,682k (± 0.02%) +292k (+ 0.07%) 420,562k 420,792k p=0.005 n=6
Parse Time 3.94s (± 0.19%) 3.95s (± 0.30%) ~ 3.93s 3.96s p=0.136 n=6
Bind Time 1.71s (± 0.61%) 1.76s (± 0.98%) +0.04s (+ 2.53%) 1.74s 1.78s p=0.005 n=6
Check Time 17.13s (± 0.27%) 17.33s (± 0.57%) +0.20s (+ 1.15%) 17.21s 17.48s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.79s (± 0.21%) 23.04s (± 0.42%) +0.25s (+ 1.11%) 22.90s 23.18s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 540,823 540,823 ~ ~ ~ p=1.000 n=6
Types 177,886 177,886 ~ ~ ~ p=1.000 n=6
Memory used 483,281k (± 0.01%) 483,566k (± 0.01%) +284k (+ 0.06%) 483,513k 483,617k p=0.005 n=6
Parse Time 3.41s (± 0.47%) 3.39s (± 0.34%) -0.02s (- 0.59%) 3.38s 3.41s p=0.040 n=6
Bind Time 1.26s (± 0.32%) 1.29s (± 0.65%) +0.04s (+ 2.91%) 1.28s 1.30s p=0.003 n=6
Check Time 18.04s (± 0.23%) 18.10s (± 0.27%) +0.06s (+ 0.34%) 18.01s 18.14s p=0.044 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.71s (± 0.14%) 22.79s (± 0.20%) +0.08s (+ 0.36%) 22.72s 22.85s p=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)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants