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

[WIP] Experimental Slim AstNode API #59992

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

[WIP] Experimental Slim AstNode API #59992

wants to merge 12 commits into from

Conversation

rbuckton
Copy link
Member

@rbuckton rbuckton commented Sep 17, 2024

This adds an experimental "slim" API for AST nodes that is intended to be highly monomorphic while maintaining the existing public API. This will also allow for gradual adoption of the new slim API internally.

This is a very early proof-of-concept designed to test the ramifications of this change and whether they will be beneficial to compiler performance long-term. The general principle of the change is that compiler internals will no longer depend on the highly polymorphic Node type, and instead depend on a slimmer AstNode class with a fixed layout that is roughly the following:

class AstNode<N extends Node> {
  // lazy-initialized extra fields for a node (id, original, emitNode, transformFlags, 
  // modifierFlagsCache, etc.)
  private _extra: AstNodeExtraFields | undefined;
  
  // Constructor used to produce a `Node` facade for the public API
  private _nodeConstructor: (new (ast: AstNode<N>) => N) | undefined;
  
  // Lazy-initialized `Node` facade for the public API
  private _node: N | undefined;

  kind: N["kind"];
  data: N["data"];
  parent: AstNode | undefined;
  flags: NodeFlags;
  pos: number;
  end: number;

  constructor(kind: N["kind"], data: N["data"], nodeConstructor: new (ast: AstNode<N>) => N) {
    ...
  }

  // lazy-initializes the `Node` facade for this AstNode
  get node() { ... }

  // lazy-initialized properties of an AstNode
  get id() { ... }
  set id(value) { ... }
  get original() { ... }
  set original(value) { ... }
  get emitNode() { ... }
  set emitNode(value) { ... }
  get transformFlags() { ... }
  set transformFlags(value) { ... }
}

This "slim" node is designed to be small and allow for monomorphic access to the most common shared properties of our AST nodes. In place of the existing Node type, the public API would surface a facade based on something like this definition of Node:

class Node<K extends SyntaxKind, T extends AstData> {
  /** @internal */ readonly ast: AstNode<Node<K, T>>;

  constructor(ast: AstNode<Node<K, T>>) {
    this.ast = ast;
  }

  /** @internal */ get data(): T { return this.ast.data; }

  get kind(): K { return this.ast.kind; }
  get pos() { return this.ast.pos; }
  get end() { return this.ast.end; }
  get flags() { return this.ast.flags; }
  get parent() { return this.ast.parent; }
  get id() { return this.ast.id; }
  // etc.
}

Node-specific fields will live in objects held by the data property, such as this class that describes a BinaryExpression:

class AstBinaryExpressionData extends AstData {
  left!: AstNode<Expression>;
  operatorToken!: AstNode<BinaryOperatorToken>;
  right!: AstNode<Expression>;
  // etc.
}

While the BinaryExpression we provide today would be replaced by a facade:

class BinaryExpression extends Node<SyntaxKind.BinaryExpression, AstBinaryExpressionData> {
  declare _expressionBrand: any;
  declare _declarationBrand: any;
  declare _jsdocContainerBrand: any;

  /** @internal */ declare readonly ast: AstBinaryExpression;

  get left() { return this.ast.data.left?.node; }
  set left(value) { this.ast.data.left = value?.ast; }
  get operatorToken() { return this.ast.data.operatorToken?.node; }
  set operatorToken(value) { this.ast.data.operatorToken = value?.ast; }
  get right() { return this.ast.data.right?.node; }
  set right(value) { this.ast.data.right = value?.ast; }
  // etc.
}

type AstBinaryExpression = AstNode<BinaryExpression>;

Work on this PR is expected to progress in stages. Until work has progressed far enough along, we expect performance numbers to be much worse before they get better due to the overhead from the compiler internals relying on the facade vs the slim node.

There will hopefully be some additional benefits to this change if it shows promise:

  • Removes use of objectAllocator for node constructors
  • Moves all language service Node extensions to the compiler (e.g., no more NodeObject)
  • Common structure of AstNode could allow for more efficient encodings of pos/end/flags/etc.
  • Potentially easy to swap out internally with shared structs in the future.

TODO

  • Initial "slim" AstNode implementation
  • Minimal AstNode version of NodeFactory and ParenthesizerRules
  • Redirect NodeFactory and ParenthesizerRules to leverage AstNode-versions
  • Migrate parser.ts to use AstNode
  • Migrate binder.ts to use AstNode
  • Migrate checker.ts to use AstNode
  • Migrate transformers to use AstNode
  • Migrate emitter.ts to use AstNode
  • Migrate language service to use AstNode

Related #59190
Related #58928
Related #51682
Related #51913

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Sep 17, 2024
@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.

@rbuckton
Copy link
Member Author

@typescript-bot perf test
@typescript-bot test top400
@typescript-bot test tsserver top100
@typescript-bot user test this
@typescript-bot user test tsserver

@typescript-bot
Copy link
Collaborator

Hey @rbuckton, this PR is in an unmergable state, so is missing a merge commit to run against; please resolve conflicts and try again.

@rbuckton
Copy link
Member Author

@typescript-bot perf test
@typescript-bot test top400
@typescript-bot test tsserver top100
@typescript-bot user test this
@typescript-bot user test tsserver

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 17, 2024

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

Command Status Results
perf test ✅ Started 👀 Results
test top400 ✅ Started ✅ Results
test tsserver top100 ✅ Started 👀 Results
user test this ✅ Started ✅ Results
user test tsserver ✅ Started ✅ Results

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the user tests with tsserver comparing main and refs/pull/59992/merge:

There were infrastructure failures potentially unrelated to your change:

  • 1 instance of "Unknown failure"

Otherwise...

Everything looks good!

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the user tests with tsc comparing main and refs/pull/59992/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@rbuckton
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 193,087k (± 0.76%) 263,539k (± 0.02%) 🔻+70,452k (+36.49%) 263,476k 263,599k p=0.005 n=6
Parse Time 1.31s (± 0.93%) 1.77s 🔻+0.46s (+35.46%) ~ ~ p=0.003 n=6
Bind Time 0.71s 1.13s (± 0.36%) 🔻+0.42s (+58.92%) 1.12s 1.13s p=0.002 n=6
Check Time 9.54s (± 0.38%) 11.72s (± 0.47%) 🔻+2.18s (+22.83%) 11.63s 11.78s p=0.005 n=6
Emit Time 2.73s (± 0.95%) 4.05s (± 0.31%) 🔻+1.32s (+48.53%) 4.03s 4.06s p=0.005 n=6
Total Time 14.28s (± 0.15%) 18.67s (± 0.26%) 🔻+4.38s (+30.68%) 18.59s 18.72s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,753 945,753 ~ ~ ~ p=1.000 n=6
Types 410,067 410,067 ~ ~ ~ p=1.000 n=6
Memory used 1,222,737k (± 0.00%) 1,670,641k (± 0.01%) 🔻+447,904k (+36.63%) 1,670,496k 1,670,735k p=0.005 n=6
Parse Time 7.93s (± 0.52%) 11.97s (± 0.58%) 🔻+4.04s (+50.95%) 11.88s 12.03s p=0.005 n=6
Bind Time 2.22s (± 0.54%) 4.09s (± 0.45%) 🔻+1.87s (+84.03%) 4.06s 4.11s p=0.005 n=6
Check Time 36.45s (± 0.29%) 50.23s (± 0.33%) 🔻+13.78s (+37.81%) 50.02s 50.43s p=0.005 n=6
Emit Time 17.90s (± 0.31%) 26.21s (± 0.38%) 🔻+8.32s (+46.47%) 26.08s 26.32s p=0.005 n=6
Total Time 64.49s (± 0.18%) 92.51s (± 0.18%) 🔻+28.01s (+43.43%) 92.28s 92.66s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,520,551 2,520,551 ~ ~ ~ p=1.000 n=6
Types 935,995 935,995 ~ ~ ~ p=1.000 n=6
Memory used 2,350,355k (± 0.00%) 2,729,076k (± 0.00%) 🔻+378,721k (+16.11%) 2,728,900k 2,729,237k p=0.005 n=6
Parse Time 11.02s (± 0.51%) 14.85s (± 0.29%) 🔻+3.83s (+34.79%) 14.80s 14.92s p=0.005 n=6
Bind Time 2.56s (± 0.80%) 4.47s (± 0.33%) 🔻+1.91s (+74.66%) 4.45s 4.49s p=0.005 n=6
Check Time 86.26s (± 0.34%) 105.84s (± 2.23%) 🔻+19.58s (+22.70%) 104.54s 110.63s p=0.005 n=6
Emit Time 0.33s (± 2.71%) 0.34s +0.01s (+ 3.03%) ~ ~ p=0.028 n=6
Total Time 100.17s (± 0.35%) 125.51s (± 1.90%) 🔻+25.34s (+25.30%) 124.24s 130.36s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,245,952 1,428,855 🔻+182,903 (+14.68%) ~ ~ p=0.001 n=6
Types 264,213 277,478 🔻+13,265 (+ 5.02%) ~ ~ p=0.001 n=6
Memory used 2,397,953k (± 0.05%) 3,390,884k (± 0.02%) 🔻+992,932k (+41.41%) 3,389,986k 3,391,681k p=0.005 n=6
Parse Time 6.07s (± 0.44%) 10.22s (± 0.47%) 🔻+4.15s (+68.36%) 10.18s 10.29s p=0.005 n=6
Bind Time 2.26s (± 1.00%) 4.34s (± 0.58%) 🔻+2.08s (+92.32%) 4.30s 4.37s p=0.005 n=6
Check Time 41.37s (± 0.73%) 57.08s (± 0.98%) 🔻+15.71s (+37.97%) 56.36s 57.66s p=0.005 n=6
Emit Time 3.61s (± 3.38%) 5.02s (± 0.87%) 🔻+1.41s (+39.17%) 4.95s 5.08s p=0.005 n=6
Total Time 53.31s (± 0.35%) 76.68s (± 0.67%) 🔻+23.37s (+43.83%) 75.96s 77.25s 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,245,952 1,428,855 🔻+182,903 (+14.68%) ~ ~ p=0.001 n=6
Types 264,213 277,478 🔻+13,265 (+ 5.02%) ~ ~ p=0.001 n=6
Memory used 2,472,518k (± 0.01%) 3,514,815k (± 2.44%) 🔻+1,042,297k (+42.16%) 3,479,298k 3,690,236k p=0.005 n=6
Parse Time 7.89s (± 0.59%) 13.01s (± 0.55%) 🔻+5.12s (+64.95%) 12.92s 13.11s p=0.005 n=6
Bind Time 2.53s (± 0.72%) 5.31s (± 0.71%) 🔻+2.78s (+110.09%) 5.26s 5.37s p=0.005 n=6
Check Time 51.21s (± 0.93%) 71.22s (± 0.19%) 🔻+20.02s (+39.09%) 71.06s 71.41s p=0.005 n=6
Emit Time 4.52s (± 3.40%) 6.18s (± 0.32%) 🔻+1.67s (+36.85%) 6.15s 6.20s p=0.005 n=6
Total Time 66.14s (± 0.55%) 95.76s (± 0.16%) 🔻+29.61s (+44.77%) 95.50s 95.91s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,885 331,296 🔻+71,411 (+27.48%) ~ ~ p=0.001 n=6
Types 106,140 119,398 🔻+13,258 (+12.49%) ~ ~ p=0.001 n=6
Memory used 435,581k (± 0.01%) 680,639k (± 0.01%) 🔻+245,058k (+56.26%) 680,542k 680,759k p=0.005 n=6
Parse Time 4.24s (± 0.53%) 6.45s (± 0.51%) 🔻+2.21s (+52.08%) 6.42s 6.49s p=0.005 n=6
Bind Time 1.61s (± 0.47%) 2.93s (± 0.84%) 🔻+1.32s (+82.18%) 2.91s 2.97s p=0.005 n=6
Check Time 22.42s (± 0.19%) 33.36s (± 0.28%) 🔻+10.94s (+48.79%) 33.24s 33.48s p=0.005 n=6
Emit Time 1.88s (± 0.78%) 3.34s (± 0.69%) 🔻+1.46s (+77.73%) 3.31s 3.37s p=0.005 n=6
Total Time 30.14s (± 0.17%) 46.08s (± 0.26%) 🔻+15.93s (+52.85%) 45.94s 46.29s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,249 94,249 ~ ~ ~ p=1.000 n=6
Memory used 370,239k (± 0.02%) 495,006k (± 0.01%) 🔻+124,767k (+33.70%) 494,975k 495,074k p=0.005 n=6
Parse Time 2.75s (± 0.99%) 3.90s (± 0.56%) 🔻+1.15s (+41.90%) 3.86s 3.92s p=0.005 n=6
Bind Time 1.55s (± 1.03%) 2.37s (± 0.64%) 🔻+0.82s (+52.74%) 2.34s 2.38s p=0.005 n=6
Check Time 15.73s (± 0.18%) 21.10s (± 0.24%) 🔻+5.37s (+34.12%) 21.04s 21.15s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.03s (± 0.23%) 27.36s (± 0.15%) 🔻+7.33s (+36.61%) 27.30s 27.40s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 1 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,071,638 0 ~ ~ ~ p=1.000 n=6+0
Types 1,060,266 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,175,799k (± 0.00%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 17.11s (± 0.25%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 5.30s (± 0.44%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 99.16s (± 0.59%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 28.12s (± 7.42%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 149.69s (± 1.17%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 277,157 277,157 ~ ~ ~ p=1.000 n=6
Types 112,949 112,949 ~ ~ ~ p=1.000 n=6
Memory used 426,908k (± 0.01%) 539,573k (± 0.01%) 🔻+112,665k (+26.39%) 539,532k 539,626k p=0.005 n=6
Parse Time 3.96s (± 0.43%) 5.30s (± 0.40%) 🔻+1.34s (+33.74%) 5.26s 5.32s p=0.005 n=6
Bind Time 1.74s (± 1.12%) 2.70s (± 0.80%) 🔻+0.96s (+55.03%) 2.67s 2.72s p=0.005 n=6
Check Time 17.67s (± 0.29%) 22.83s (± 0.24%) 🔻+5.16s (+29.22%) 22.77s 22.90s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.37s (± 0.32%) 30.82s (± 0.24%) 🔻+7.45s (+31.88%) 30.76s 30.93s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 531,582 531,582 ~ ~ ~ p=1.000 n=6
Types 181,676 181,676 ~ ~ ~ p=1.000 n=6
Memory used 463,664k (± 0.01%) 548,851k (± 0.01%) 🔻+85,187k (+18.37%) 548,810k 548,878k p=0.005 n=6
Parse Time 2.60s (± 0.31%) 3.59s (± 0.23%) 🔻+0.98s (+37.77%) 3.58s 3.60s p=0.004 n=6
Bind Time 0.93s 1.53s (± 0.53%) 🔻+0.60s (+64.16%) 1.52s 1.54s p=0.003 n=6
Check Time 15.41s (± 0.24%) 17.97s (± 0.21%) 🔻+2.56s (+16.61%) 17.93s 18.02s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.95s (± 0.19%) 23.09s (± 0.14%) 🔻+4.14s (+21.84%) 23.04s 23.13s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,297ms (± 0.52%) 3,187ms (± 0.35%) 🔻+890ms (+38.74%) 3,165ms 3,196ms p=0.005 n=6
Req 2 - geterr 5,164ms (± 0.45%) 6,581ms (± 0.67%) 🔻+1,417ms (+27.44%) 6,544ms 6,660ms p=0.005 n=6
Req 3 - references 263ms (± 0.96%) 361ms (± 0.46%) 🔻+98ms (+37.26%) 359ms 363ms p=0.005 n=6
Req 4 - navto 227ms (± 0.36%) 296ms (± 0.35%) 🔻+69ms (+30.37%) 294ms 297ms p=0.004 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 81ms (± 7.01%) 85ms (± 7.92%) ~ 81ms 98ms p=0.684 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,415ms (± 1.47%) 3,359ms (± 0.47%) 🔻+944ms (+39.08%) 3,341ms 3,388ms p=0.005 n=6
Req 2 - geterr 3,922ms (± 0.44%) 5,046ms (± 1.41%) 🔻+1,124ms (+28.67%) 4,943ms 5,122ms p=0.005 n=6
Req 3 - references 274ms (± 1.26%) 397ms (± 2.17%) 🔻+123ms (+44.88%) 390ms 413ms p=0.005 n=6
Req 4 - navto 232ms (± 3.02%) 306ms (± 1.47%) 🔻+74ms (+32.04%) 297ms 309ms p=0.005 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 77ms (± 8.85%) 84ms (± 1.00%) ~ 83ms 85ms p=0.220 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,193ms (± 0.23%) 7,215ms (± 3.09%) 🔻+2,022ms (+38.95%) 7,067ms 7,516ms p=0.005 n=6
Req 2 - geterr 1,120ms (± 0.37%) 1,263ms (± 0.96%) 🔻+143ms (+12.79%) 1,248ms 1,276ms p=0.005 n=6
Req 3 - references 86ms (± 4.89%) 108ms (± 3.74%) 🔻+22ms (+25.93%) 104ms 112ms p=0.004 n=6
Req 4 - navto 441ms (± 0.24%) 502ms (± 0.96%) 🔻+62ms (+14.00%) 496ms 508ms p=0.005 n=6
Req 5 - completionInfo count 3,444 3,444 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 840ms (± 1.43%) 895ms (± 1.17%) 🔻+56ms (+ 6.63%) 875ms 903ms p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 188.86ms (± 0.19%) 212.21ms (± 0.22%) 🔻+23.35ms (+12.36%) 208.70ms 219.53ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 232.34ms (± 0.12%) 248.96ms (± 0.14%) 🔻+16.62ms (+ 7.15%) 247.54ms 254.80ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 227.71ms (± 0.14%) 243.82ms (± 0.15%) 🔻+16.11ms (+ 7.07%) 242.51ms 248.92ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 226.97ms (± 0.14%) 243.14ms (± 0.15%) 🔻+16.18ms (+ 7.13%) 241.61ms 250.40ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

As expected, the facade is significantly slower, though it is quite a bit slower than I was hoping. Hopefully we'll start seeing better numbers once I finish migrating the parser.

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the top 200 repos with tsserver comparing main and refs/pull/59992/merge:

Something interesting changed - please have a look.

Details

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

backstage/backstage Raw error text: RepoResults8/backstage.backstage.rawError.txt in the artifact folder
Replay commands: RepoResults8/backstage.backstage.replay.txt in the artifact folder

Last few requests

{"seq":134,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/scripts/templates/knex-migration.stub.js","line":29,"offset":4,"includeExternalModuleExports":false,"triggerKind":1}}
{"seq":135,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/scripts/templates/knex-migration.stub.js","line":29,"offset":4,"entryNames":["@abstract"]}}
{"seq":136,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/scripts/list-backend-feature.js"],"openFiles":[]}}
{"seq":137,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/packages/eslint-plugin/index.js","projectRootPath":"@PROJECT_ROOT@"}]}}

Repro steps

#!/bin/bash

git clone https://github.com/backstage/backstage --recurse-submodules
git -C "./backstage" reset --hard 6f8d71b74ca53b6a62d0ff6325f7849d3b48a822
# Install packages (exact steps are below, but it might be easier to follow the repo readme)
yarn --cwd "./backstage" install --no-immutable --mode=skip-build
yarn --cwd "./backstage/storybook" install --no-immutable --mode=skip-build
yarn --cwd "./backstage/microsite" install --no-immutable --mode=skip-build
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163602/artifacts?artifactName=RepoResults8&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults8.zip "$downloadUrl"
unzip -p RepoResults8.zip RepoResults8/backstage.backstage.replay.txt > backstage.backstage.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./backstage ./backstage.backstage.replay.txt <PATH_TO_tsserver.js>

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

n8n-io/n8n Raw error text: RepoResults3/n8n-io.n8n.rawError.txt in the artifact folder
Replay commands: RepoResults3/n8n-io.n8n.replay.txt in the artifact folder

Last few requests

{"seq":995,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/packages/editor-ui/src/Interface.ts","line":1583,"offset":18,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":"'"}}
{"seq":996,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/packages/editor-ui/src/Interface.ts","line":1589,"offset":4}}
{"seq":997,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/packages/nodes-base/credentials/CarbonBlackApi.credentials.ts"],"openFiles":[]}}
{"seq":998,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/packages/design-system/src/plugin.ts","projectRootPath":"@PROJECT_ROOT@"}]}}

Repro steps

#!/bin/bash

git clone https://github.com/n8n-io/n8n --recurse-submodules
git -C "./n8n" reset --hard 989f69d1f4f63d3f0c35341d310bc78914137677
pnpm --dir "./n8n" install --no-frozen-lockfile --prefer-offline --ignore-scripts --reporter=silent
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163602/artifacts?artifactName=RepoResults3&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults3.zip "$downloadUrl"
unzip -p RepoResults3.zip RepoResults3/n8n-io.n8n.replay.txt > n8n-io.n8n.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./n8n ./n8n-io.n8n.replay.txt <PATH_TO_tsserver.js>

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

remotion-dev/remotion Raw error text: RepoResults14/remotion-dev.remotion.rawError.txt in the artifact folder
Replay commands: RepoResults14/remotion-dev.remotion.replay.txt in the artifact folder

Last few requests

{"seq":256,"type":"request","command":"navbar","arguments":{"file":"@PROJECT_ROOT@/packages/cli/remotionb-cli.js"}}
{"seq":257,"type":"request","command":"updateOpen","arguments":{"changedFiles":[{"fileName":"@PROJECT_ROOT@/packages/cli/remotionb-cli.js","textChanges":[{"newText":" //comment","start":{"line":1,"offset":19},"end":{"line":1,"offset":19}}]}],"closedFiles":[],"openFiles":[]}}
{"seq":258,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/packages/compositor-linux-x64-gnu/index.js"],"openFiles":[]}}
{"seq":259,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/packages/astro-example/test.js","projectRootPath":"@PROJECT_ROOT@"}]}}

Repro steps

#!/bin/bash

git clone https://github.com/remotion-dev/remotion --recurse-submodules
git -C "./remotion" reset --hard 6acfd716dc5e3bad7efd4414a7392455694ed00b
pnpm --dir "./remotion" install --no-frozen-lockfile --prefer-offline --ignore-scripts --reporter=silent
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163602/artifacts?artifactName=RepoResults14&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults14.zip "$downloadUrl"
unzip -p RepoResults14.zip RepoResults14/remotion-dev.remotion.replay.txt > remotion-dev.remotion.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./remotion ./remotion-dev.remotion.replay.txt <PATH_TO_tsserver.js>
elastic/kibana Raw error text: RepoResults14/elastic.kibana.rawError.txt in the artifact folder
Replay commands: RepoResults14/elastic.kibana.replay.txt in the artifact folder

Last few requests

{"seq":96,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/packages/kbn-cli-dev-mode/jest.integration.config.js","line":11,"offset":12}}
{"seq":97,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/packages/kbn-cli-dev-mode/jest.integration.config.js","line":11,"offset":12}}
{"seq":98,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/packages/kbn-telemetry-tools/jest.config.js"],"openFiles":[]}}
{"seq":99,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/x-pack/test/upgrade_assistant_integration/config.js","projectRootPath":"@PROJECT_ROOT@"}]}}

Repro steps

#!/bin/bash

git clone https://github.com/elastic/kibana --recurse-submodules
git -C "./kibana" reset --hard 48f6f945bef098cd5ef667b7e6a01dd2182b6698
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163602/artifacts?artifactName=RepoResults14&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults14.zip "$downloadUrl"
unzip -p RepoResults14.zip RepoResults14/elastic.kibana.replay.txt > elastic.kibana.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./kibana ./elastic.kibana.replay.txt <PATH_TO_tsserver.js>

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

withfig/autocomplete Raw error text: RepoResults10/withfig.autocomplete.rawError.txt in the artifact folder
Replay commands: RepoResults10/withfig.autocomplete.replay.txt in the artifact folder

Last few requests

{"seq":274,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/src/ykman.ts","line":1137,"offset":19,"entryNames":["configModeGenerator"]}}
{"seq":275,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/src/ykman.ts","line":1174,"offset":23}}
{"seq":276,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/src/ykman.ts","line":1183,"offset":29,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":"\""}}
{"seq":277,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/src/ykman.ts","line":1252,"offset":15}}

Repro steps

#!/bin/bash

git clone https://github.com/withfig/autocomplete --recurse-submodules
git -C "./autocomplete" reset --hard 35977c9b68cecd1755b6c9c09d85f8d567ddedb9
pnpm --dir "./autocomplete" install --no-frozen-lockfile --prefer-offline --ignore-scripts --reporter=silent
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163602/artifacts?artifactName=RepoResults10&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults10.zip "$downloadUrl"
unzip -p RepoResults10.zip RepoResults10/withfig.autocomplete.replay.txt > withfig.autocomplete.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./autocomplete ./withfig.autocomplete.replay.txt <PATH_TO_tsserver.js>

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the top 400 repos with tsc comparing main and refs/pull/59992/merge:

Everything looks good!

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 18, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 194,850k (± 0.90%) 264,879k (± 0.72%) 🔻+70,030k (+35.94%) 263,605k 267,413k p=0.005 n=6
Parse Time 1.57s (± 1.12%) 2.11s (± 1.35%) 🔻+0.54s (+34.72%) 2.06s 2.14s p=0.004 n=6
Bind Time 0.85s (± 1.61%) 1.32s (± 0.48%) 🔻+0.47s (+54.39%) 1.31s 1.33s p=0.004 n=6
Check Time 11.38s (± 0.20%) 13.89s (± 0.53%) 🔻+2.51s (+22.06%) 13.76s 13.96s p=0.005 n=6
Emit Time 3.24s (± 0.45%) 4.84s (± 0.95%) 🔻+1.60s (+49.36%) 4.76s 4.88s p=0.005 n=6
Total Time 17.04s (± 0.29%) 22.16s (± 0.58%) 🔻+5.12s (+30.02%) 21.93s 22.28s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,753 945,753 ~ ~ ~ p=1.000 n=6
Types 410,067 410,067 ~ ~ ~ p=1.000 n=6
Memory used 1,222,749k (± 0.01%) 1,670,645k (± 0.00%) 🔻+447,896k (+36.63%) 1,670,595k 1,670,728k p=0.005 n=6
Parse Time 7.89s (± 0.74%) 11.92s (± 0.59%) 🔻+4.04s (+51.24%) 11.85s 12.04s p=0.005 n=6
Bind Time 2.21s (± 0.40%) 4.04s (± 0.29%) 🔻+1.83s (+82.73%) 4.02s 4.05s p=0.005 n=6
Check Time 36.22s (± 0.39%) 49.78s (± 0.38%) 🔻+13.55s (+37.42%) 49.51s 50.08s p=0.005 n=6
Emit Time 17.88s (± 0.51%) 26.06s (± 0.49%) 🔻+8.18s (+45.75%) 25.87s 26.18s p=0.005 n=6
Total Time 64.19s (± 0.22%) 91.80s (± 0.34%) 🔻+27.61s (+43.02%) 91.33s 92.25s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,529,156 2,529,156 ~ ~ ~ p=1.000 n=6
Types 936,017 936,017 ~ ~ ~ p=1.000 n=6
Memory used 2,364,302k (± 0.00%) 2,745,907k (± 0.01%) 🔻+381,605k (+16.14%) 2,745,531k 2,746,195k p=0.005 n=6
Parse Time 11.16s (± 0.29%) 15.08s (± 1.60%) 🔻+3.92s (+35.14%) 14.87s 15.56s p=0.005 n=6
Bind Time 2.61s (± 0.40%) 4.55s (± 0.32%) 🔻+1.94s (+74.49%) 4.52s 4.56s p=0.004 n=6
Check Time 86.33s (± 0.70%) 106.45s (± 2.04%) 🔻+20.12s (+23.30%) 104.84s 110.25s p=0.005 n=6
Emit Time 0.33s (± 1.24%) 0.34s (± 3.42%) 🔻+0.01s (+ 4.06%) 0.33s 0.36s p=0.025 n=6
Total Time 100.43s (± 0.59%) 126.42s (± 1.65%) 🔻+25.99s (+25.88%) 124.79s 130.15s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,245,952 1,428,767 🔻+182,815 (+14.67%) ~ ~ p=0.001 n=6
Types 264,213 277,448 🔻+13,235 (+ 5.01%) ~ ~ p=0.001 n=6
Memory used 2,397,820k (± 0.03%) 3,388,854k (± 0.01%) 🔻+991,034k (+41.33%) 3,388,250k 3,389,346k p=0.005 n=6
Parse Time 6.11s (± 0.59%) 10.28s (± 0.42%) 🔻+4.16s (+68.06%) 10.22s 10.33s p=0.005 n=6
Bind Time 2.26s (± 0.78%) 4.30s (± 1.04%) 🔻+2.04s (+90.07%) 4.24s 4.35s p=0.005 n=6
Check Time 41.39s (± 0.52%) 57.04s (± 0.72%) 🔻+15.66s (+37.83%) 56.58s 57.47s p=0.005 n=6
Emit Time 3.56s (± 2.29%) 5.04s (± 0.63%) 🔻+1.48s (+41.53%) 4.99s 5.08s p=0.005 n=6
Total Time 53.34s (± 0.54%) 76.67s (± 0.53%) 🔻+23.33s (+43.75%) 76.22s 77.09s 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,245,952 1,428,767 🔻+182,815 (+14.67%) ~ ~ p=0.001 n=6
Types 264,213 277,448 🔻+13,235 (+ 5.01%) ~ ~ p=0.001 n=6
Memory used 2,472,614k (± 0.02%) 3,477,928k (± 0.01%) 🔻+1,005,314k (+40.66%) 3,477,333k 3,478,364k p=0.005 n=6
Parse Time 7.89s (± 0.44%) 13.00s (± 0.39%) 🔻+5.11s (+64.79%) 12.92s 13.08s p=0.005 n=6
Bind Time 2.52s (± 0.65%) 5.28s (± 0.56%) 🔻+2.76s (+109.25%) 5.25s 5.32s p=0.005 n=6
Check Time 51.26s (± 0.83%) 70.59s (± 0.72%) 🔻+19.33s (+37.70%) 69.84s 71.21s p=0.005 n=6
Emit Time 4.35s (± 1.74%) 6.28s (± 3.26%) 🔻+1.93s (+44.33%) 6.11s 6.68s p=0.005 n=6
Total Time 66.02s (± 0.58%) 95.15s (± 0.40%) 🔻+29.13s (+44.11%) 94.55s 95.59s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,885 331,208 🔻+71,323 (+27.44%) ~ ~ p=0.001 n=6
Types 106,140 119,368 🔻+13,228 (+12.46%) ~ ~ p=0.001 n=6
Memory used 435,589k (± 0.02%) 680,131k (± 0.01%) 🔻+244,543k (+56.14%) 680,073k 680,256k p=0.005 n=6
Parse Time 3.41s (± 0.49%) 5.20s (± 1.10%) 🔻+1.79s (+52.59%) 5.16s 5.31s p=0.005 n=6
Bind Time 1.29s (± 1.26%) 2.33s (± 1.21%) 🔻+1.04s (+80.15%) 2.29s 2.37s p=0.004 n=6
Check Time 18.16s (± 0.39%) 26.83s (± 0.39%) 🔻+8.68s (+47.80%) 26.74s 26.96s p=0.005 n=6
Emit Time 1.53s (± 2.19%) 2.72s (± 0.86%) 🔻+1.19s (+78.00%) 2.69s 2.75s p=0.005 n=6
Total Time 24.39s (± 0.37%) 37.09s (± 0.18%) 🔻+12.70s (+52.09%) 36.99s 37.18s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,249 94,249 ~ ~ ~ p=1.000 n=6
Memory used 370,253k (± 0.02%) 495,011k (± 0.01%) 🔻+124,758k (+33.70%) 494,946k 495,052k p=0.005 n=6
Parse Time 3.44s (± 1.21%) 4.88s (± 0.90%) 🔻+1.44s (+41.69%) 4.82s 4.95s p=0.005 n=6
Bind Time 1.95s (± 1.07%) 2.94s (± 0.91%) 🔻+0.99s (+50.51%) 2.90s 2.97s p=0.005 n=6
Check Time 19.42s (± 0.50%) 26.01s (± 0.11%) 🔻+6.58s (+33.90%) 25.96s 26.04s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.81s (± 0.32%) 33.82s (± 0.08%) 🔻+9.01s (+36.31%) 33.79s 33.87s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 1 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,074,141 0 ~ ~ ~ p=1.000 n=6+0
Types 1,060,933 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,177,732k (± 0.00%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 17.15s (± 0.25%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 5.33s (± 0.83%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 99.32s (± 0.26%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 27.18s (± 0.28%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 148.98s (± 0.19%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 277,157 277,157 ~ ~ ~ p=1.000 n=6
Types 112,949 112,949 ~ ~ ~ p=1.000 n=6
Memory used 426,931k (± 0.02%) 539,845k (± 0.02%) 🔻+112,914k (+26.45%) 539,746k 539,977k p=0.005 n=6
Parse Time 3.95s (± 0.69%) 5.29s (± 0.25%) 🔻+1.34s (+33.91%) 5.28s 5.31s p=0.004 n=6
Bind Time 1.72s (± 1.36%) 2.71s (± 0.31%) 🔻+1.00s (+58.16%) 2.71s 2.73s p=0.004 n=6
Check Time 17.63s (± 0.46%) 22.92s (± 0.38%) 🔻+5.28s (+29.95%) 22.80s 23.00s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.30s (± 0.26%) 30.92s (± 0.24%) 🔻+7.62s (+32.68%) 30.83s 31.00s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 531,594 531,594 ~ ~ ~ p=1.000 n=6
Types 181,677 181,677 ~ ~ ~ p=1.000 n=6
Memory used 463,716k (± 0.02%) 548,893k (± 0.01%) 🔻+85,177k (+18.37%) 548,843k 548,929k p=0.005 n=6
Parse Time 2.60s (± 0.58%) 3.60s (± 0.48%) 🔻+0.99s (+38.22%) 3.58s 3.62s p=0.005 n=6
Bind Time 0.93s 1.51s (± 0.50%) 🔻+0.58s (+62.19%) 1.50s 1.52s p=0.003 n=6
Check Time 15.40s (± 0.39%) 17.98s (± 0.26%) 🔻+2.57s (+16.68%) 17.91s 18.01s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 18.94s (± 0.32%) 23.08s (± 0.26%) 🔻+4.15s (+21.91%) 23.00s 23.14s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,293ms (± 0.22%) 3,148ms (± 0.29%) 🔻+855ms (+37.29%) 3,134ms 3,158ms p=0.005 n=6
Req 2 - geterr 5,177ms (± 0.33%) 6,572ms (± 0.41%) 🔻+1,396ms (+26.96%) 6,551ms 6,623ms p=0.005 n=6
Req 3 - references 262ms (± 0.20%) 391ms (± 0.67%) 🔻+129ms (+49.05%) 387ms 394ms p=0.004 n=6
Req 4 - navto 227ms (± 0.60%) 288ms (± 1.72%) 🔻+61ms (+26.99%) 283ms 293ms p=0.004 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 83ms (± 6.68%) 81ms (± 0.63%) ~ 81ms 82ms p=0.365 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,401ms (± 1.03%) 3,341ms (± 0.39%) 🔻+940ms (+39.14%) 3,327ms 3,357ms p=0.005 n=6
Req 2 - geterr 3,920ms (± 0.60%) 5,042ms (± 1.36%) 🔻+1,122ms (+28.63%) 4,907ms 5,095ms p=0.005 n=6
Req 3 - references 274ms (± 1.47%) 403ms (± 3.11%) 🔻+129ms (+47.23%) 387ms 419ms p=0.005 n=6
Req 4 - navto 232ms (± 2.85%) 299ms (± 2.81%) 🔻+67ms (+29.09%) 289ms 307ms p=0.005 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 74ms (± 7.87%) 80ms (± 3.31%) ~ 77ms 83ms p=0.064 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,181ms (± 0.25%) 7,148ms (± 2.35%) 🔻+1,967ms (+37.97%) 7,040ms 7,470ms p=0.005 n=6
Req 2 - geterr 1,131ms (± 1.25%) 1,263ms (± 0.92%) 🔻+132ms (+11.63%) 1,250ms 1,277ms p=0.005 n=6
Req 3 - references 87ms (± 2.49%) 106ms (± 3.04%) 🔻+19ms (+21.73%) 104ms 112ms p=0.004 n=6
Req 4 - navto 441ms (± 0.12%) 492ms (± 3.29%) 🔻+51ms (+11.56%) 469ms 511ms p=0.004 n=6
Req 5 - completionInfo count 3,444 3,444 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 844ms (± 0.91%) 892ms (± 0.89%) 🔻+48ms (+ 5.65%) 880ms 902ms p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 158.56ms (± 0.19%) 176.19ms (± 0.16%) 🔻+17.63ms (+11.12%) 175.13ms 179.84ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 231.96ms (± 0.12%) 248.54ms (± 0.13%) 🔻+16.58ms (+ 7.15%) 247.30ms 254.45ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 227.82ms (± 0.16%) 243.73ms (± 0.15%) 🔻+15.91ms (+ 6.98%) 242.52ms 250.14ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 227.03ms (± 0.15%) 242.86ms (± 0.14%) 🔻+15.83ms (+ 6.97%) 241.54ms 248.37ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

Being less aggressive with respect to optional chaining in the facade accessors didn't seem to have much of an impact. I suspect the biggest impact is that the per-node constructors are resulting in far more megamorphic ICs. I might be able to address this by duplicating all of the accessors on Node on each of the individual subtypes so that the accessors are monomorphic. I'll push up an experimental commit to test that this afternoon, but I think the major perf improvements will come from migrating the internals to use the monomorphic slim AST.

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 18, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 193,603k (± 0.94%) 265,714k (± 0.58%) 🔻+72,111k (+37.25%) 264,930k 268,878k p=0.005 n=6
Parse Time 1.57s (± 0.94%) 2.15s (± 0.38%) 🔻+0.58s (+37.01%) 2.14s 2.16s p=0.005 n=6
Bind Time 0.85s (± 0.96%) 1.39s (± 1.06%) 🔻+0.54s (+63.09%) 1.37s 1.41s p=0.005 n=6
Check Time 11.37s (± 0.65%) 14.36s (± 0.36%) 🔻+2.99s (+26.32%) 14.27s 14.42s p=0.005 n=6
Emit Time 3.23s (± 0.69%) 5.06s (± 3.15%) 🔻+1.83s (+56.73%) 4.99s 5.39s p=0.005 n=6
Total Time 17.02s (± 0.45%) 22.97s (± 0.76%) 🔻+5.95s (+34.92%) 22.78s 23.30s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,753 945,753 ~ ~ ~ p=1.000 n=6
Types 410,067 410,067 ~ ~ ~ p=1.000 n=6
Memory used 1,222,741k (± 0.00%) 1,672,763k (± 0.00%) 🔻+450,023k (+36.80%) 1,672,723k 1,672,804k p=0.005 n=6
Parse Time 6.67s (± 0.44%) 10.24s (± 0.51%) 🔻+3.58s (+53.64%) 10.18s 10.30s p=0.005 n=6
Bind Time 1.86s (± 0.28%) 3.51s (± 0.39%) 🔻+1.65s (+88.64%) 3.50s 3.53s p=0.004 n=6
Check Time 31.19s (± 0.22%) 45.35s (± 0.48%) 🔻+14.16s (+45.40%) 45.15s 45.66s p=0.005 n=6
Emit Time 15.08s (± 0.31%) 22.79s (± 0.74%) 🔻+7.71s (+51.15%) 22.53s 22.95s p=0.005 n=6
Total Time 54.80s (± 0.19%) 81.90s (± 0.22%) 🔻+27.10s (+49.46%) 81.77s 82.25s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,529,156 2,529,156 ~ ~ ~ p=1.000 n=6
Types 936,017 936,017 ~ ~ ~ p=1.000 n=6
Memory used 2,364,315k (± 0.00%) 2,747,791k (± 0.01%) 🔻+383,476k (+16.22%) 2,747,489k 2,747,957k p=0.005 n=6
Parse Time 11.15s (± 0.32%) 15.37s (± 0.71%) 🔻+4.22s (+37.86%) 15.19s 15.52s p=0.005 n=6
Bind Time 2.60s (± 0.40%) 4.62s (± 0.29%) 🔻+2.02s (+77.42%) 4.60s 4.64s p=0.005 n=6
Check Time 86.35s (± 0.39%) 106.59s (± 0.73%) 🔻+20.24s (+23.44%) 105.87s 107.93s p=0.005 n=6
Emit Time 0.33s (± 1.68%) 0.34s (± 1.19%) 🔻+0.02s (+ 5.13%) 0.34s 0.35s p=0.003 n=6
Total Time 100.43s (± 0.32%) 126.93s (± 0.57%) 🔻+26.50s (+26.38%) 126.19s 128.08s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,245,952 1,455,886 🔻+209,934 (+16.85%) ~ ~ p=0.001 n=6
Types 264,213 277,450 🔻+13,237 (+ 5.01%) ~ ~ p=0.001 n=6
Memory used 2,398,064k (± 0.04%) 3,483,558k (± 0.02%) 🔻+1,085,494k (+45.27%) 3,482,941k 3,484,290k p=0.005 n=6
Parse Time 6.12s (± 1.08%) 10.60s (± 0.30%) 🔻+4.48s (+73.11%) 10.57s 10.66s p=0.005 n=6
Bind Time 2.27s (± 0.77%) 4.46s (± 0.46%) 🔻+2.19s (+96.69%) 4.43s 4.49s p=0.005 n=6
Check Time 41.07s (± 0.33%) 59.74s (± 0.60%) 🔻+18.68s (+45.48%) 59.27s 60.17s p=0.005 n=6
Emit Time 3.65s (± 3.29%) 5.42s (± 5.13%) 🔻+1.77s (+48.58%) 5.21s 5.82s p=0.005 n=6
Total Time 53.13s (± 0.36%) 80.24s (± 0.34%) 🔻+27.11s (+51.02%) 79.73s 80.47s 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,245,952 1,455,886 🔻+209,934 (+16.85%) ~ ~ p=0.001 n=6
Types 264,213 277,450 🔻+13,237 (+ 5.01%) ~ ~ p=0.001 n=6
Memory used 2,472,200k (± 0.04%) 3,570,912k (± 0.01%) 🔻+1,098,711k (+44.44%) 3,570,533k 3,571,320k p=0.005 n=6
Parse Time 7.84s (± 0.67%) 13.35s (± 0.54%) 🔻+5.50s (+70.14%) 13.28s 13.47s p=0.005 n=6
Bind Time 2.54s (± 0.35%) 5.47s (± 1.05%) 🔻+2.93s (+115.42%) 5.39s 5.54s p=0.005 n=6
Check Time 51.55s (± 0.41%) 74.03s (± 0.64%) 🔻+22.47s (+43.59%) 73.10s 74.36s p=0.005 n=6
Emit Time 4.44s (± 1.45%) 6.55s (± 3.87%) 🔻+2.11s (+47.60%) 6.40s 7.06s p=0.005 n=6
Total Time 66.38s (± 0.25%) 99.40s (± 0.23%) 🔻+33.02s (+49.75%) 99.01s 99.65s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,885 334,435 🔻+74,550 (+28.69%) ~ ~ p=0.001 n=6
Types 106,140 119,370 🔻+13,230 (+12.46%) ~ ~ p=0.001 n=6
Memory used 435,627k (± 0.01%) 696,228k (± 0.02%) 🔻+260,602k (+59.82%) 696,069k 696,392k p=0.005 n=6
Parse Time 3.42s (± 0.44%) 5.33s (± 0.56%) 🔻+1.90s (+55.57%) 5.30s 5.38s p=0.005 n=6
Bind Time 1.29s (± 1.17%) 2.47s (± 0.59%) 🔻+1.19s (+92.10%) 2.45s 2.49s p=0.005 n=6
Check Time 18.18s (± 0.29%) 28.34s (± 0.35%) 🔻+10.15s (+55.85%) 28.17s 28.48s p=0.005 n=6
Emit Time 1.53s (± 1.35%) 2.91s (± 0.92%) 🔻+1.38s (+90.61%) 2.86s 2.94s p=0.005 n=6
Total Time 24.42s (± 0.24%) 39.04s (± 0.29%) 🔻+14.63s (+59.90%) 38.91s 39.24s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,249 94,249 ~ ~ ~ p=1.000 n=6
Memory used 370,263k (± 0.02%) 496,547k (± 0.00%) 🔻+126,284k (+34.11%) 496,524k 496,574k p=0.005 n=6
Parse Time 2.28s (± 0.33%) 3.32s (± 0.54%) 🔻+1.04s (+45.72%) 3.30s 3.35s p=0.005 n=6
Bind Time 1.30s (± 2.15%) 2.04s (± 0.59%) 🔻+0.74s (+56.78%) 2.03s 2.06s p=0.004 n=6
Check Time 13.36s (± 0.25%) 18.68s (± 0.21%) 🔻+5.31s (+39.77%) 18.61s 18.72s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 16.94s (± 0.37%) 24.04s (± 0.22%) 🔻+7.10s (+41.92%) 23.96s 24.11s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 1 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,077,145 0 ~ ~ ~ p=1.000 n=6+0
Types 1,061,608 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,179,554k (± 0.00%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 17.20s (± 0.42%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 5.30s (± 0.28%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 99.15s (± 0.43%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 27.18s (± 0.72%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 148.83s (± 0.34%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 277,157 277,157 ~ ~ ~ p=1.000 n=6
Types 112,949 112,949 ~ ~ ~ p=1.000 n=6
Memory used 427,038k (± 0.01%) 541,537k (± 0.01%) 🔻+114,499k (+26.81%) 541,398k 541,582k p=0.005 n=6
Parse Time 4.90s (± 0.33%) 6.83s (± 0.45%) 🔻+1.93s (+39.33%) 6.79s 6.88s p=0.005 n=6
Bind Time 2.13s (± 0.91%) 3.49s (± 0.15%) 🔻+1.36s (+63.82%) 3.48s 3.49s p=0.004 n=6
Check Time 21.89s (± 0.30%) 29.51s (± 0.47%) 🔻+7.62s (+34.83%) 29.35s 29.69s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 28.92s (± 0.29%) 39.83s (± 0.38%) 🔻+10.91s (+37.72%) 39.65s 40.03s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 531,594 531,594 ~ ~ ~ p=1.000 n=6
Types 181,677 181,677 ~ ~ ~ p=1.000 n=6
Memory used 463,730k (± 0.01%) 550,468k (± 0.01%) 🔻+86,738k (+18.70%) 550,439k 550,507k p=0.005 n=6
Parse Time 3.12s (± 1.06%) 4.35s (± 0.58%) 🔻+1.23s (+39.35%) 4.31s 4.38s p=0.005 n=6
Bind Time 1.11s (± 0.37%) 1.87s (± 0.94%) 🔻+0.75s (+67.92%) 1.84s 1.89s p=0.004 n=6
Check Time 18.27s (± 0.13%) 21.65s (± 0.21%) 🔻+3.38s (+18.52%) 21.61s 21.73s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.50s (± 0.21%) 27.86s (± 0.20%) 🔻+5.36s (+23.85%) 27.80s 27.96s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,294ms (± 0.93%) 3,253ms (± 0.10%) 🔻+959ms (+41.82%) 3,248ms 3,257ms p=0.005 n=6
Req 2 - geterr 5,161ms (± 0.29%) 6,743ms (± 0.51%) 🔻+1,582ms (+30.65%) 6,694ms 6,779ms p=0.005 n=6
Req 3 - references 264ms (± 1.67%) 388ms (± 3.81%) 🔻+125ms (+47.28%) 375ms 407ms p=0.005 n=6
Req 4 - navto 227ms (± 0.65%) 293ms (± 0.14%) 🔻+66ms (+28.91%) 292ms 293ms p=0.004 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 80ms (± 5.91%) 86ms (± 7.20%) ~ 82ms 94ms p=0.121 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,404ms (± 0.85%) 3,434ms (± 0.15%) 🔻+1,030ms (+42.87%) 3,430ms 3,442ms p=0.005 n=6
Req 2 - geterr 3,912ms (± 0.20%) 5,339ms (± 0.40%) 🔻+1,427ms (+36.48%) 5,320ms 5,378ms p=0.005 n=6
Req 3 - references 274ms (± 0.15%) 422ms (± 0.92%) 🔻+148ms (+54.05%) 414ms 424ms p=0.003 n=6
Req 4 - navto 227ms (± 0.33%) 291ms (± 2.59%) 🔻+64ms (+28.25%) 282ms 305ms p=0.004 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 78ms (± 8.13%) 82ms (± 7.76%) ~ 78ms 94ms p=0.226 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 6,366ms (± 4.95%) 8,652ms (± 0.32%) 🔻+2,286ms (+35.91%) 8,619ms 8,685ms p=0.005 n=6
Req 2 - geterr 1,683ms (± 1.44%) 1,732ms (±10.96%) ~ 1,549ms 1,922ms p=1.000 n=6
Req 3 - references 129ms (± 2.79%) 154ms (± 8.96%) 🔻+25ms (+18.94%) 127ms 167ms p=0.024 n=6
Req 4 - navto 603ms (± 1.30%) 710ms (± 6.62%) 🔻+107ms (+17.75%) 615ms 741ms p=0.005 n=6
Req 5 - completionInfo count 3,444 3,444 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 1,270ms (± 0.51%) 1,285ms (± 8.77%) ~ 1,055ms 1,343ms p=0.066 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 158.16ms (± 0.17%) 180.07ms (± 0.17%) 🔻+21.92ms (+13.86%) 179.06ms 184.18ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 232.33ms (± 0.15%) 254.84ms (± 0.13%) 🔻+22.51ms (+ 9.69%) 253.52ms 260.12ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 227.46ms (± 0.14%) 248.16ms (± 0.13%) 🔻+20.69ms (+ 9.10%) 246.67ms 251.64ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 277.16ms (± 0.28%) 304.16ms (± 0.32%) 🔻+27.00ms (+ 9.74%) 295.62ms 307.79ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 18, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 193,282k (± 0.74%) 270,314k (± 0.57%) 🔻+77,032k (+39.85%) 269,464k 273,439k p=0.005 n=6
Parse Time 1.56s (± 1.24%) 1.66s (± 0.45%) 🔻+0.10s (+ 6.40%) 1.65s 1.67s p=0.004 n=6
Bind Time 0.86s (± 0.73%) 1.55s (± 0.75%) 🔻+0.69s (+80.43%) 1.54s 1.57s p=0.004 n=6
Check Time 11.40s (± 0.14%) 14.16s (± 1.58%) 🔻+2.77s (+24.29%) 13.78s 14.35s p=0.005 n=6
Emit Time 3.22s (± 0.95%) 5.04s (± 4.13%) 🔻+1.82s (+56.65%) 4.89s 5.33s p=0.005 n=6
Total Time 17.03s (± 0.23%) 22.42s (± 1.31%) 🔻+5.39s (+31.65%) 21.88s 22.76s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,753 945,753 ~ ~ ~ p=1.000 n=6
Types 410,067 410,067 ~ ~ ~ p=1.000 n=6
Memory used 1,222,713k (± 0.00%) 1,725,853k (± 0.00%) 🔻+503,140k (+41.15%) 1,725,780k 1,725,948k p=0.005 n=6
Parse Time 7.94s (± 0.85%) 9.67s (± 0.42%) 🔻+1.73s (+21.74%) 9.62s 9.72s p=0.005 n=6
Bind Time 2.23s (± 0.77%) 5.77s (± 0.61%) 🔻+3.54s (+158.94%) 5.72s 5.81s p=0.005 n=6
Check Time 36.45s (± 0.48%) 50.49s (± 0.32%) 🔻+14.04s (+38.52%) 50.28s 50.74s p=0.005 n=6
Emit Time 17.86s (± 0.32%) 26.43s (± 0.31%) 🔻+8.57s (+47.97%) 26.33s 26.53s p=0.005 n=6
Total Time 64.47s (± 0.34%) 92.35s (± 0.26%) 🔻+27.88s (+43.24%) 91.97s 92.63s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,529,156 2,529,156 ~ ~ ~ p=1.000 n=6
Types 936,017 936,017 ~ ~ ~ p=1.000 n=6
Memory used 2,364,411k (± 0.00%) 2,787,320k (± 0.00%) 🔻+422,910k (+17.89%) 2,787,264k 2,787,399k p=0.005 n=6
Parse Time 13.79s (± 0.27%) 16.55s (± 0.23%) 🔻+2.76s (+20.04%) 16.51s 16.62s p=0.005 n=6
Bind Time 3.20s (± 0.86%) 7.10s (± 0.28%) 🔻+3.90s (+121.87%) 7.07s 7.13s p=0.005 n=6
Check Time 105.85s (± 0.38%) 129.36s (± 0.22%) 🔻+23.51s (+22.21%) 128.98s 129.71s p=0.005 n=6
Emit Time 0.39s (± 3.08%) 0.41s (± 2.52%) 🔻+0.02s (+ 5.51%) 0.40s 0.43s p=0.018 n=6
Total Time 123.23s (± 0.36%) 153.42s (± 0.20%) 🔻+30.19s (+24.50%) 153.04s 153.86s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,246,552 1,434,615 🔻+188,063 (+15.09%) ~ ~ p=0.001 n=6
Types 264,445 278,258 🔻+13,813 (+ 5.22%) ~ ~ p=0.001 n=6
Memory used 2,459,084k (± 5.93%) 3,489,219k (± 0.01%) 🔻+1,030,135k (+41.89%) 3,488,782k 3,489,769k p=0.005 n=6
Parse Time 7.63s (± 0.48%) 10.19s (± 0.60%) 🔻+2.56s (+33.57%) 10.11s 10.28s p=0.005 n=6
Bind Time 2.81s (± 0.42%) 7.03s (± 0.91%) 🔻+4.22s (+150.33%) 6.96s 7.13s p=0.005 n=6
Check Time 50.94s (± 1.44%) 71.55s (± 0.69%) 🔻+20.61s (+40.45%) 70.93s 72.07s p=0.005 n=6
Emit Time 4.46s (± 4.40%) 6.59s (± 4.85%) 🔻+2.13s (+47.67%) 6.34s 7.05s p=0.005 n=6
Total Time 65.85s (± 1.07%) 95.38s (± 0.26%) 🔻+29.53s (+44.84%) 95.12s 95.75s 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,246,552 1,434,615 🔻+188,063 (+15.09%) ~ ~ p=0.001 n=6
Types 264,445 278,258 🔻+13,813 (+ 5.22%) ~ ~ p=0.001 n=6
Memory used 2,474,074k (± 0.03%) 3,578,729k (± 0.01%) 🔻+1,104,655k (+44.65%) 3,578,410k 3,579,132k p=0.005 n=6
Parse Time 6.28s (± 0.75%) 8.34s (± 0.45%) 🔻+2.06s (+32.86%) 8.31s 8.41s p=0.005 n=6
Bind Time 2.04s (± 0.51%) 5.63s (± 0.93%) 🔻+3.59s (+175.39%) 5.58s 5.72s p=0.005 n=6
Check Time 41.66s (± 0.57%) 57.38s (± 0.72%) 🔻+15.72s (+37.72%) 56.86s 57.93s p=0.005 n=6
Emit Time 3.52s (± 1.77%) 5.31s (± 4.49%) 🔻+1.78s (+50.61%) 5.13s 5.78s p=0.005 n=6
Total Time 53.53s (± 0.56%) 76.66s (± 0.49%) 🔻+23.13s (+43.20%) 76.25s 77.14s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,902 333,924 🔻+74,022 (+28.48%) ~ ~ p=0.001 n=6
Types 106,141 119,820 🔻+13,679 (+12.89%) ~ ~ p=0.001 n=6
Memory used 435,632k (± 0.03%) 700,413k (± 0.01%) 🔻+264,781k (+60.78%) 700,298k 700,455k p=0.005 n=6
Parse Time 3.43s (± 1.07%) 4.28s (± 0.50%) 🔻+0.85s (+24.94%) 4.26s 4.31s p=0.005 n=6
Bind Time 1.29s (± 0.94%) 2.99s (± 0.91%) 🔻+1.69s (+131.06%) 2.96s 3.02s p=0.005 n=6
Check Time 18.13s (± 0.45%) 27.28s (± 0.38%) 🔻+9.15s (+50.45%) 27.15s 27.40s p=0.005 n=6
Emit Time 1.53s (± 1.37%) 2.81s (± 0.65%) 🔻+1.28s (+83.77%) 2.79s 2.83s p=0.005 n=6
Total Time 24.38s (± 0.33%) 37.36s (± 0.28%) 🔻+12.98s (+53.23%) 37.22s 37.52s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,249 94,249 ~ ~ ~ p=1.000 n=6
Memory used 370,241k (± 0.02%) 509,399k (± 0.00%) 🔻+139,158k (+37.59%) 509,365k 509,419k p=0.005 n=6
Parse Time 2.29s (± 0.51%) 2.68s (± 0.91%) 🔻+0.38s (+16.73%) 2.65s 2.72s p=0.005 n=6
Bind Time 1.32s (± 1.30%) 2.40s (± 0.97%) 🔻+1.07s (+81.34%) 2.37s 2.43s p=0.005 n=6
Check Time 13.39s (± 0.16%) 18.06s (± 0.36%) 🔻+4.67s (+34.89%) 17.96s 18.16s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 17.00s (± 0.13%) 23.13s (± 0.44%) 🔻+6.13s (+36.06%) 23.00s 23.30s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 1 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,077,266 0 ~ ~ ~ p=1.000 n=6+0
Types 1,061,668 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,179,782k (± 0.00%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 13.98s (± 0.48%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 4.36s (± 0.30%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 81.72s (± 0.35%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 22.20s (± 0.37%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 122.27s (± 0.24%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 277,157 277,157 ~ ~ ~ p=1.000 n=6
Types 112,949 112,949 ~ ~ ~ p=1.000 n=6
Memory used 426,912k (± 0.02%) 553,555k (± 0.01%) 🔻+126,643k (+29.66%) 553,499k 553,630k p=0.005 n=6
Parse Time 3.96s (± 0.21%) 4.53s (± 0.90%) 🔻+0.57s (+14.41%) 4.47s 4.58s p=0.005 n=6
Bind Time 1.72s (± 0.32%) 2.96s (± 0.41%) 🔻+1.25s (+72.79%) 2.95s 2.98s p=0.004 n=6
Check Time 17.63s (± 0.17%) 23.10s (± 0.33%) 🔻+5.47s (+31.00%) 23.00s 23.18s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.30s (± 0.11%) 30.58s (± 0.23%) 🔻+7.28s (+31.24%) 30.51s 30.68s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 531,594 531,594 ~ ~ ~ p=1.000 n=6
Types 181,677 181,677 ~ ~ ~ p=1.000 n=6
Memory used 463,710k (± 0.01%) 561,753k (± 0.02%) 🔻+98,043k (+21.14%) 561,601k 561,867k p=0.005 n=6
Parse Time 3.12s (± 0.82%) 3.61s (± 0.57%) 🔻+0.49s (+15.59%) 3.58s 3.64s p=0.005 n=6
Bind Time 1.11s (± 0.37%) 2.25s (± 0.78%) 🔻+1.13s (+101.95%) 2.22s 2.27s p=0.003 n=6
Check Time 18.21s (± 0.28%) 21.31s (± 0.29%) 🔻+3.11s (+17.06%) 21.22s 21.38s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.44s (± 0.27%) 27.17s (± 0.22%) 🔻+4.73s (+21.06%) 27.07s 27.24s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,860ms (± 9.43%) 3,641ms (± 3.07%) 🔻+781ms (+27.32%) 3,583ms 3,869ms p=0.005 n=6
Req 2 - geterr 6,631ms (±10.45%) 9,031ms (± 9.89%) 🔻+2,401ms (+36.21%) 7,867ms 9,870ms p=0.005 n=6
Req 3 - references 392ms (± 1.69%) 512ms (±10.46%) 🔻+120ms (+30.47%) 464ms 580ms p=0.005 n=6
Req 4 - navto 337ms (± 2.33%) 427ms (± 7.66%) 🔻+90ms (+26.61%) 360ms 442ms p=0.005 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 118ms (± 7.77%) 136ms (± 6.85%) 🔻+17ms (+14.51%) 118ms 146ms p=0.016 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,126ms (±11.90%) 4,074ms (± 8.45%) 🔻+948ms (+30.32%) 3,825ms 4,724ms p=0.005 n=6
Req 2 - geterr 5,373ms (±10.23%) 6,795ms (±11.77%) 🔻+1,422ms (+26.46%) 6,009ms 7,613ms p=0.005 n=6
Req 3 - references 390ms (± 8.91%) 570ms (± 9.48%) 🔻+180ms (+46.21%) 518ms 643ms p=0.005 n=6
Req 4 - navto 338ms (± 2.42%) 411ms (± 8.96%) 🔻+74ms (+21.78%) 362ms 438ms p=0.005 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 115ms (± 5.83%) 113ms (± 8.56%) ~ 94ms 119ms p=0.329 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 6,476ms (± 6.25%) 8,568ms (± 5.63%) 🔻+2,092ms (+32.31%) 8,112ms 9,015ms p=0.005 n=6
Req 2 - geterr 1,689ms (± 0.58%) 1,763ms (±10.37%) ~ 1,525ms 1,894ms p=0.378 n=6
Req 3 - references 128ms (± 2.84%) 152ms (± 3.15%) 🔻+24ms (+18.88%) 146ms 156ms p=0.004 n=6
Req 4 - navto 600ms (± 2.64%) 691ms (± 1.39%) 🔻+91ms (+15.10%) 684ms 709ms p=0.005 n=6
Req 5 - completionInfo count 3,444 3,444 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 1,257ms (± 1.17%) 1,305ms (± 0.55%) +48ms (+ 3.79%) 1,297ms 1,317ms p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 189.74ms (± 0.19%) 210.37ms (± 0.18%) 🔻+20.63ms (+10.87%) 207.35ms 214.11ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 285.00ms (± 0.27%) 306.29ms (± 0.30%) 🔻+21.29ms (+ 7.47%) 298.29ms 309.65ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 277.37ms (± 0.27%) 297.86ms (± 0.33%) 🔻+20.50ms (+ 7.39%) 289.74ms 301.95ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 278.46ms (± 0.29%) 299.06ms (± 0.34%) 🔻+20.59ms (+ 7.40%) 290.15ms 304.24ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Sep 20, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 193,675k (± 0.92%) 271,009k (± 0.74%) 🔻+77,334k (+39.93%) 269,506k 273,665k p=0.005 n=6
Parse Time 1.56s (± 0.52%) 1.70s (± 0.88%) 🔻+0.14s (+ 8.96%) 1.69s 1.73s p=0.004 n=6
Bind Time 0.86s (± 1.20%) 1.56s (± 0.52%) 🔻+0.70s (+81.71%) 1.55s 1.57s p=0.004 n=6
Check Time 11.38s (± 0.48%) 13.96s (± 0.51%) 🔻+2.58s (+22.66%) 13.87s 14.07s p=0.005 n=6
Emit Time 3.23s (± 0.91%) 5.06s (± 3.68%) 🔻+1.82s (+56.34%) 4.92s 5.31s p=0.005 n=6
Total Time 17.04s (± 0.55%) 22.28s (± 1.05%) 🔻+5.25s (+30.79%) 22.07s 22.60s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 7 7 ~ ~ ~ p=1.000 n=6
Symbols 945,753 945,753 ~ ~ ~ p=1.000 n=6
Types 410,067 410,067 ~ ~ ~ p=1.000 n=6
Memory used 1,222,733k (± 0.00%) 1,725,860k (± 0.00%) 🔻+503,127k (+41.15%) 1,725,803k 1,725,911k p=0.005 n=6
Parse Time 6.67s (± 0.71%) 8.31s (± 0.56%) 🔻+1.65s (+24.73%) 8.24s 8.37s p=0.005 n=6
Bind Time 1.86s (± 0.28%) 4.89s (± 0.36%) 🔻+3.02s (+162.25%) 4.86s 4.91s p=0.004 n=6
Check Time 31.19s (± 0.15%) 43.46s (± 0.31%) 🔻+12.27s (+39.33%) 43.28s 43.63s p=0.005 n=6
Emit Time 15.02s (± 1.01%) 22.53s (± 0.65%) 🔻+7.51s (+49.96%) 22.33s 22.64s p=0.005 n=6
Total Time 54.74s (± 0.32%) 79.19s (± 0.31%) 🔻+24.44s (+44.65%) 78.83s 79.52s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,529,472 2,529,472 ~ ~ ~ p=1.000 n=6
Types 936,018 936,018 ~ ~ ~ p=1.000 n=6
Memory used 2,364,794k (± 0.00%) 2,787,683k (± 0.00%) 🔻+422,889k (+17.88%) 2,787,649k 2,787,743k p=0.005 n=6
Parse Time 11.17s (± 0.16%) 13.42s (± 0.21%) 🔻+2.25s (+20.14%) 13.40s 13.47s p=0.005 n=6
Bind Time 2.61s (± 0.31%) 5.81s (± 0.47%) 🔻+3.20s (+122.51%) 5.78s 5.86s p=0.005 n=6
Check Time 86.33s (± 0.43%) 105.85s (± 0.22%) 🔻+19.52s (+22.61%) 105.50s 106.14s p=0.005 n=6
Emit Time 0.33s 0.35s (± 3.35%) 🔻+0.02s (+ 5.56%) 0.33s 0.36s p=0.009 n=6
Total Time 100.45s (± 0.36%) 125.44s (± 0.19%) 🔻+24.99s (+24.87%) 125.05s 125.69s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,246,550 1,560,508 🔻+313,958 (+25.19%) ~ ~ p=0.001 n=6
Types 264,444 293,720 🔻+29,276 (+11.07%) ~ ~ p=0.001 n=6
Memory used 2,398,746k (± 0.03%) 3,507,887k (± 0.02%) 🔻+1,109,141k (+46.24%) 3,506,214k 3,508,490k p=0.005 n=6
Parse Time 6.10s (± 0.60%) 8.10s (± 0.61%) 🔻+2.00s (+32.80%) 8.03s 8.16s p=0.005 n=6
Bind Time 2.27s (± 0.87%) 5.65s (± 0.32%) 🔻+3.38s (+149.26%) 5.63s 5.68s p=0.005 n=6
Check Time 41.22s (± 0.91%) 60.31s (± 0.75%) 🔻+19.09s (+46.31%) 59.60s 60.96s p=0.005 n=6
Emit Time 3.62s (± 4.27%) 5.37s (± 0.52%) 🔻+1.75s (+48.32%) 5.33s 5.41s p=0.005 n=6
Total Time 53.23s (± 0.80%) 79.44s (± 0.55%) 🔻+26.21s (+49.25%) 78.77s 80.06s 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,246,550 1,560,508 🔻+313,958 (+25.19%) ~ ~ p=0.001 n=6
Types 264,444 293,720 🔻+29,276 (+11.07%) ~ ~ p=0.001 n=6
Memory used 2,473,341k (± 0.01%) 3,608,594k (± 0.01%) 🔻+1,135,254k (+45.90%) 3,607,830k 3,609,111k p=0.005 n=6
Parse Time 7.91s (± 0.80%) 10.28s (± 0.41%) 🔻+2.38s (+30.04%) 10.22s 10.35s p=0.005 n=6
Bind Time 2.54s (± 0.70%) 6.95s (± 0.70%) 🔻+4.41s (+173.82%) 6.89s 7.02s p=0.005 n=6
Check Time 51.62s (± 0.81%) 74.63s (± 0.39%) 🔻+23.02s (+44.59%) 74.13s 74.89s p=0.005 n=6
Emit Time 4.47s (± 3.19%) 6.64s (± 0.86%) 🔻+2.16s (+48.42%) 6.54s 6.70s p=0.005 n=6
Total Time 66.56s (± 0.56%) 98.49s (± 0.36%) 🔻+31.93s (+47.98%) 97.86s 98.82s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 259,902 419,353 🔻+159,451 (+61.35%) ~ ~ p=0.001 n=6
Types 106,141 127,296 🔻+21,155 (+19.93%) ~ ~ p=0.001 n=6
Memory used 435,647k (± 0.01%) 744,542k (± 0.07%) 🔻+308,895k (+70.91%) 744,155k 745,554k p=0.005 n=6
Parse Time 4.25s (± 0.80%) 5.33s (± 0.44%) 🔻+1.07s (+25.19%) 5.30s 5.36s p=0.005 n=6
Bind Time 1.59s (± 1.56%) 3.72s (± 0.14%) 🔻+2.13s (+134.00%) 3.71s 3.72s p=0.004 n=6
Check Time 22.44s (± 0.42%) 34.81s (± 0.65%) 🔻+12.37s (+55.13%) 34.41s 35.08s p=0.005 n=6
Emit Time 1.88s (± 0.88%) 4.34s (±10.18%) 🔻+2.46s (+131.38%) 3.46s 4.64s p=0.005 n=6
Total Time 30.16s (± 0.34%) 48.19s (± 0.73%) 🔻+18.03s (+59.80%) 47.62s 48.53s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,018 225,018 ~ ~ ~ p=1.000 n=6
Types 94,249 94,249 ~ ~ ~ p=1.000 n=6
Memory used 370,248k (± 0.01%) 509,340k (± 0.01%) 🔻+139,091k (+37.57%) 509,288k 509,458k p=0.005 n=6
Parse Time 2.75s (± 1.41%) 3.24s (± 0.41%) 🔻+0.48s (+17.62%) 3.23s 3.26s p=0.004 n=6
Bind Time 1.57s (± 0.66%) 2.85s (± 0.98%) 🔻+1.29s (+82.13%) 2.82s 2.90s p=0.004 n=6
Check Time 15.71s (± 0.21%) 21.09s (± 0.44%) 🔻+5.39s (+34.31%) 20.97s 21.21s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.03s (± 0.24%) 27.19s (± 0.41%) 🔻+7.16s (+35.75%) 27.04s 27.35s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 1 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,093,690 0 ~ ~ ~ p=1.000 n=6+0
Types 1,066,256 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,191,489k (± 0.01%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 11.65s (± 0.41%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 3.68s (± 2.13%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 70.82s (± 0.23%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 18.93s (± 0.95%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 105.08s (± 0.26%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 277,196 277,196 ~ ~ ~ p=1.000 n=6
Types 112,950 112,950 ~ ~ ~ p=1.000 n=6
Memory used 427,009k (± 0.01%) 553,479k (± 0.01%) 🔻+126,470k (+29.62%) 553,409k 553,537k p=0.005 n=6
Parse Time 4.91s (± 0.60%) 5.63s (± 0.26%) 🔻+0.73s (+14.78%) 5.61s 5.65s p=0.005 n=6
Bind Time 2.15s (± 0.76%) 3.69s (± 0.70%) 🔻+1.54s (+71.59%) 3.67s 3.73s p=0.005 n=6
Check Time 21.73s (± 0.32%) 28.53s (± 0.64%) 🔻+6.80s (+31.31%) 28.33s 28.75s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 28.79s (± 0.25%) 37.86s (± 0.49%) 🔻+9.07s (+31.51%) 37.62s 38.11s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 539,943 539,943 ~ ~ ~ p=1.000 n=6
Types 181,263 181,263 ~ ~ ~ p=1.000 n=6
Memory used 483,352k (± 0.01%) 587,368k (± 0.01%) 🔻+104,016k (+21.52%) 587,327k 587,454k p=0.005 n=6
Parse Time 3.23s (± 0.47%) 3.67s (± 0.76%) 🔻+0.44s (+13.64%) 3.63s 3.70s p=0.005 n=6
Bind Time 1.16s (± 0.65%) 2.40s (± 0.44%) 🔻+1.23s (+106.17%) 2.38s 2.41s p=0.005 n=6
Check Time 18.38s (± 0.34%) 21.46s (± 0.31%) 🔻+3.08s (+16.78%) 21.37s 21.56s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.77s (± 0.30%) 27.53s (± 0.31%) 🔻+4.76s (+20.91%) 27.39s 27.65s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,299ms (± 0.56%) 3,023ms (± 0.29%) 🔻+723ms (+31.46%) 3,011ms 3,032ms p=0.005 n=6
Req 2 - geterr 5,169ms (± 0.37%) 6,595ms (± 0.33%) 🔻+1,426ms (+27.58%) 6,567ms 6,630ms p=0.005 n=6
Req 3 - references 261ms (± 0.91%) 398ms (± 0.54%) 🔻+137ms (+52.30%) 395ms 401ms p=0.005 n=6
Req 4 - navto 228ms (± 0.54%) 296ms (± 0.30%) 🔻+69ms (+30.11%) 295ms 297ms p=0.004 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 84ms (± 3.91%) 89ms (± 9.62%) ~ 81ms 97ms p=0.415 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,397ms (± 1.20%) 3,222ms (± 0.43%) 🔻+825ms (+34.43%) 3,203ms 3,240ms p=0.005 n=6
Req 2 - geterr 3,919ms (± 0.21%) 5,153ms (± 0.30%) 🔻+1,234ms (+31.50%) 5,125ms 5,168ms p=0.005 n=6
Req 3 - references 271ms (± 0.86%) 431ms (± 2.08%) 🔻+159ms (+58.72%) 413ms 437ms p=0.005 n=6
Req 4 - navto 234ms (± 3.23%) 295ms 🔻+61ms (+25.98%) ~ ~ p=0.003 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 74ms (± 8.62%) 79ms (± 1.04%) ~ 78ms 80ms p=0.063 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 6,493ms (± 6.00%) 8,274ms (± 0.65%) 🔻+1,781ms (+27.44%) 8,218ms 8,340ms p=0.005 n=6
Req 2 - geterr 1,689ms (± 0.62%) 1,692ms (±11.64%) ~ 1,505ms 1,911ms p=1.000 n=6
Req 3 - references 131ms (± 3.24%) 147ms (± 7.82%) ~ 124ms 153ms p=0.063 n=6
Req 4 - navto 592ms (± 1.57%) 698ms (± 1.86%) 🔻+106ms (+17.87%) 686ms 722ms p=0.005 n=6
Req 5 - completionInfo count 3,444 3,444 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 1,258ms (± 1.19%) 1,325ms (± 1.65%) 🔻+67ms (+ 5.35%) 1,291ms 1,351ms p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 158.42ms (± 0.19%) 170.68ms (± 0.18%) 🔻+12.26ms (+ 7.74%) 169.67ms 175.04ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 232.43ms (± 0.15%) 256.35ms (± 0.13%) 🔻+23.92ms (+10.29%) 255.05ms 263.13ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 278.42ms (± 0.29%) 300.36ms (± 0.28%) 🔻+21.94ms (+ 7.88%) 293.01ms 302.91ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 227.48ms (± 0.15%) 245.01ms (± 0.13%) 🔻+17.53ms (+ 7.70%) 243.41ms 249.77ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

rbuckton commented Oct 1, 2024

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

Hey @rbuckton, this PR is in an unmergable state, so is missing a merge commit to run against; please resolve conflicts and try again.

@rbuckton
Copy link
Member Author

rbuckton commented Oct 1, 2024

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 1, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 31 31 ~ ~ ~ p=1.000 n=6
Symbols 62,340 62,340 ~ ~ ~ p=1.000 n=6
Types 50,379 50,379 ~ ~ ~ p=1.000 n=6
Memory used 195,816k (± 0.73%) 273,023k (± 0.09%) 🔻+77,207k (+39.43%) 272,672k 273,282k p=0.005 n=6
Parse Time 1.62s (± 1.28%) 1.74s (± 2.40%) 🔻+0.12s (+ 7.42%) 1.67s 1.77s p=0.005 n=6
Bind Time 0.87s (± 1.03%) 1.37s (± 0.75%) 🔻+0.50s (+57.85%) 1.36s 1.39s p=0.005 n=6
Check Time 11.76s (± 0.49%) 12.31s (± 0.86%) 🔻+0.55s (+ 4.65%) 12.22s 12.52s p=0.005 n=6
Emit Time 3.30s (± 0.76%) 4.26s (± 5.80%) 🔻+0.97s (+29.32%) 4.08s 4.62s p=0.005 n=6
Total Time 17.55s (± 0.37%) 19.68s (± 1.26%) 🔻+2.14s (+12.19%) 19.45s 19.99s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 33 33 ~ ~ ~ p=1.000 n=6
Symbols 947,886 947,886 ~ ~ ~ p=1.000 n=6
Types 410,840 410,840 ~ ~ ~ p=1.000 n=6
Memory used 1,224,797k (± 0.01%) 1,726,906k (± 0.00%) 🔻+502,109k (+41.00%) 1,726,824k 1,726,947k p=0.005 n=6
Parse Time 8.09s (± 0.83%) 9.73s (± 0.39%) 🔻+1.64s (+20.28%) 9.69s 9.79s p=0.005 n=6
Bind Time 2.26s (± 0.65%) 5.21s (± 0.43%) 🔻+2.95s (+130.21%) 5.17s 5.23s p=0.005 n=6
Check Time 37.69s (± 0.48%) 43.74s (± 0.37%) 🔻+6.05s (+16.05%) 43.60s 43.95s p=0.005 n=6
Emit Time 18.19s (± 0.50%) 22.27s (± 0.43%) 🔻+4.09s (+22.47%) 22.09s 22.35s p=0.005 n=6
Total Time 66.23s (± 0.41%) 80.96s (± 0.26%) 🔻+14.72s (+22.23%) 80.67s 81.19s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,522,038 2,522,038 ~ ~ ~ p=1.000 n=6
Types 936,053 936,053 ~ ~ ~ p=1.000 n=6
Memory used 2,352,836k (± 0.01%) 2,770,805k (± 0.00%) 🔻+417,968k (+17.76%) 2,770,695k 2,771,022k p=0.005 n=6
Parse Time 11.20s (± 0.53%) 13.10s (± 0.53%) 🔻+1.91s (+17.05%) 12.98s 13.19s p=0.005 n=6
Bind Time 2.61s (± 1.29%) 5.13s (± 0.90%) 🔻+2.52s (+96.30%) 5.08s 5.19s p=0.005 n=6
Check Time 92.14s (± 2.04%) 102.32s (± 2.36%) 🔻+10.17s (+11.04%) 100.68s 106.76s p=0.005 n=6
Emit Time 0.34s (± 3.04%) 0.35s (± 1.81%) ~ 0.34s 0.36s p=0.388 n=6
Total Time 106.30s (± 1.77%) 120.90s (± 2.05%) 🔻+14.60s (+13.74%) 119.28s 125.42s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,258,106 1,610,348 🔻+352,242 (+28.00%) ~ ~ p=0.001 n=6
Types 266,266 296,415 🔻+30,149 (+11.32%) ~ ~ p=0.001 n=6
Memory used 3,146,094k (± 0.03%) 4,641,312k (±11.71%) 🔻+1,495,218k (+47.53%) 3,530,774k 4,865,086k p=0.005 n=6
Parse Time 6.54s (± 0.52%) 8.50s (± 1.69%) 🔻+1.97s (+30.12%) 8.31s 8.62s p=0.005 n=6
Bind Time 2.31s (± 0.71%) 5.60s (± 2.24%) 🔻+3.29s (+142.70%) 5.42s 5.80s p=0.005 n=6
Check Time 43.00s (± 0.22%) 56.82s (± 1.12%) 🔻+13.82s (+32.14%) 56.33s 58.06s p=0.005 n=6
Emit Time 3.55s (± 3.18%) 4.96s (± 1.33%) 🔻+1.41s (+39.62%) 4.86s 5.02s p=0.005 n=6
Total Time 55.39s (± 0.27%) 75.87s (± 0.78%) 🔻+20.48s (+36.98%) 75.39s 77.02s 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,258,106 1,610,348 🔻+352,242 (+28.00%) ~ ~ p=0.001 n=6
Types 266,266 296,415 🔻+30,149 (+11.32%) ~ ~ p=0.001 n=6
Memory used 2,619,344k (±11.20%) 4,979,198k (± 0.03%) 🔻+2,359,854k (+90.09%) 4,977,693k 4,981,846k p=0.005 n=6
Parse Time 8.24s (± 2.21%) 10.88s (± 0.35%) 🔻+2.64s (+32.03%) 10.83s 10.93s p=0.005 n=6
Bind Time 2.65s (± 2.01%) 6.84s (± 1.86%) 🔻+4.19s (+158.08%) 6.71s 7.04s p=0.005 n=6
Check Time 53.55s (± 0.49%) 69.86s (± 0.54%) 🔻+16.31s (+30.46%) 69.48s 70.47s p=0.005 n=6
Emit Time 4.47s (± 4.88%) 6.23s (± 0.92%) 🔻+1.76s (+39.30%) 6.13s 6.29s p=0.005 n=6
Total Time 68.91s (± 0.69%) 93.79s (± 0.50%) 🔻+24.88s (+36.11%) 93.35s 94.60s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 261,785 459,520 🔻+197,735 (+75.53%) ~ ~ p=0.001 n=6
Types 106,508 128,536 🔻+22,028 (+20.68%) ~ ~ p=0.001 n=6
Memory used 438,764k (± 0.01%) 762,686k (± 0.01%) 🔻+323,923k (+73.83%) 762,489k 762,783k p=0.005 n=6
Parse Time 3.56s (± 0.95%) 4.37s (± 1.04%) 🔻+0.81s (+22.74%) 4.32s 4.44s p=0.005 n=6
Bind Time 1.30s (± 0.76%) 2.82s (± 0.78%) 🔻+1.52s (+117.20%) 2.79s 2.85s p=0.005 n=6
Check Time 18.89s (± 0.61%) 27.16s (± 0.39%) 🔻+8.27s (+43.76%) 27.03s 27.31s p=0.005 n=6
Emit Time 1.55s (± 1.11%) 2.70s (± 0.79%) 🔻+1.15s (+73.90%) 2.67s 2.73s p=0.005 n=6
Total Time 25.31s (± 0.51%) 37.05s (± 0.46%) 🔻+11.74s (+46.40%) 36.81s 37.27s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,919 225,919 ~ ~ ~ p=1.000 n=6
Types 94,415 94,415 ~ ~ ~ p=1.000 n=6
Memory used 371,064k (± 0.02%) 508,685k (± 0.02%) 🔻+137,621k (+37.09%) 508,523k 508,791k p=0.005 n=6
Parse Time 2.89s (± 1.26%) 3.32s (± 1.02%) 🔻+0.43s (+14.99%) 3.29s 3.37s p=0.005 n=6
Bind Time 1.60s (± 1.61%) 2.88s (± 0.75%) 🔻+1.27s (+79.42%) 2.84s 2.90s p=0.005 n=6
Check Time 16.35s (± 0.40%) 19.47s (± 0.25%) 🔻+3.12s (+19.08%) 19.39s 19.52s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.85s (± 0.23%) 25.67s (± 0.23%) 🔻+4.82s (+23.14%) 25.61s 25.74s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 3 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,110,478 0 ~ ~ ~ p=1.000 n=6+0
Types 1,072,234 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,202,485k (± 0.01%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 14.05s (± 0.61%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 4.42s (± 0.33%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 87.16s (± 3.18%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 24.81s (± 9.62%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 130.45s (± 2.74%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 279,484 279,484 ~ ~ ~ p=1.000 n=6
Types 114,024 114,024 ~ ~ ~ p=1.000 n=6
Memory used 429,358k (± 0.02%) 554,686k (± 0.01%) 🔻+125,328k (+29.19%) 554,648k 554,734k p=0.005 n=6
Parse Time 3.32s (± 0.44%) 3.74s (± 0.39%) 🔻+0.42s (+12.66%) 3.72s 3.75s p=0.005 n=6
Bind Time 1.45s (± 0.92%) 2.03s (± 0.65%) 🔻+0.58s (+40.05%) 2.01s 2.04s p=0.004 n=6
Check Time 15.11s (± 0.36%) 15.70s (± 0.23%) +0.59s (+ 3.93%) 15.65s 15.74s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 19.88s (± 0.23%) 21.47s (± 0.25%) 🔻+1.59s (+ 8.01%) 21.39s 21.53s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 540,560 540,560 ~ ~ ~ p=1.000 n=6
Types 181,448 181,448 ~ ~ ~ p=1.000 n=6
Memory used 484,314k (± 0.01%) 587,285k (± 0.01%) 🔻+102,971k (+21.26%) 587,222k 587,368k p=0.005 n=6
Parse Time 3.36s (± 1.32%) 3.82s (± 0.73%) 🔻+0.46s (+13.73%) 3.79s 3.87s p=0.005 n=6
Bind Time 1.18s (± 1.28%) 2.20s (± 0.34%) 🔻+1.02s (+86.83%) 2.19s 2.21s p=0.004 n=6
Check Time 19.12s (± 0.15%) 20.98s (± 0.24%) 🔻+1.86s (+ 9.71%) 20.90s 21.05s p=0.005 n=6
Emit Time 0.00s (±244.70%) 0.00s ~ ~ ~ p=0.405 n=6
Total Time 23.66s (± 0.29%) 27.00s (± 0.14%) 🔻+3.34s (+14.10%) 26.96s 27.05s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,309ms (± 0.45%) 2,881ms (± 0.29%) 🔻+571ms (+24.73%) 2,871ms 2,892ms p=0.005 n=6
Req 2 - geterr 5,288ms (± 0.22%) 5,880ms (± 0.34%) 🔻+593ms (+11.21%) 5,846ms 5,897ms p=0.005 n=6
Req 3 - references 268ms (± 1.02%) 308ms (± 3.07%) 🔻+40ms (+15.08%) 302ms 327ms p=0.005 n=6
Req 4 - navto 228ms (± 0.58%) 273ms (± 1.75%) 🔻+45ms (+19.58%) 265ms 277ms p=0.005 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 82ms (± 7.15%) 69ms (± 2.38%) 🟩-13ms (-16.26%) 68ms 72ms p=0.004 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,464ms (± 0.32%) 3,110ms (± 0.48%) 🔻+646ms (+26.24%) 3,093ms 3,127ms p=0.005 n=6
Req 2 - geterr 3,968ms (± 0.27%) 4,356ms (± 0.14%) 🔻+388ms (+ 9.77%) 4,349ms 4,364ms p=0.005 n=6
Req 3 - references 284ms (± 0.26%) 347ms (± 0.26%) 🔻+63ms (+22.11%) 346ms 348ms p=0.004 n=6
Req 4 - navto 227ms (± 0.18%) 283ms (± 0.58%) 🔻+56ms (+24.54%) 281ms 285ms p=0.004 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 85ms (± 0.60%) 77ms (± 1.33%) 🟩-8ms (- 9.38%) 76ms 78ms p=0.004 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,237ms (± 0.53%) 6,712ms (± 0.47%) 🔻+1,475ms (+28.16%) 6,667ms 6,749ms p=0.005 n=6
Req 2 - geterr 1,143ms (± 0.59%) 1,116ms (± 0.45%) -28ms (- 2.42%) 1,109ms 1,122ms p=0.005 n=6
Req 3 - references 84ms (± 4.59%) 93ms (± 1.58%) 🔻+10ms (+11.58%) 92ms 95ms p=0.004 n=6
Req 4 - navto 450ms (± 0.73%) 431ms (± 0.36%) 🟩-19ms (- 4.22%) 429ms 433ms p=0.005 n=6
Req 5 - completionInfo count 3,450 3,450 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 851ms (± 1.91%) 884ms (± 0.36%) +33ms (+ 3.86%) 880ms 889ms p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 159.87ms (± 0.20%) 167.62ms (± 0.17%) 🔻+7.74ms (+ 4.84%) 166.63ms 171.90ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 234.48ms (± 0.20%) 258.88ms (± 0.13%) 🔻+24.41ms (+10.41%) 257.27ms 262.96ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 229.55ms (± 0.15%) 247.47ms (± 0.14%) 🔻+17.92ms (+ 7.81%) 245.93ms 250.53ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 229.05ms (± 0.15%) 246.89ms (± 0.15%) 🔻+17.84ms (+ 7.79%) 245.27ms 250.95ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

rbuckton commented Oct 2, 2024

@typescript-bot perf test

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 2, 2024

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

Command Status Results
perf test ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

@rbuckton
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 31 31 ~ ~ ~ p=1.000 n=6
Symbols 62,340 62,340 ~ ~ ~ p=1.000 n=6
Types 50,379 50,379 ~ ~ ~ p=1.000 n=6
Memory used 195,826k (± 0.72%) 271,626k (± 0.75%) 🔻+75,800k (+38.71%) 268,746k 273,113k p=0.005 n=6
Parse Time 1.61s (± 0.94%) 1.75s (± 1.32%) 🔻+0.15s (+ 9.14%) 1.72s 1.78s p=0.005 n=6
Bind Time 0.86s (± 2.14%) 1.36s (± 1.38%) 🔻+0.50s (+57.86%) 1.33s 1.38s p=0.005 n=6
Check Time 11.70s (± 0.38%) 12.33s (± 1.67%) 🔻+0.63s (+ 5.37%) 12.21s 12.73s p=0.005 n=6
Emit Time 3.34s (± 3.07%) 4.35s (± 4.58%) 🔻+1.01s (+30.29%) 4.08s 4.52s p=0.005 n=6
Total Time 17.50s (± 0.45%) 19.79s (± 1.59%) 🔻+2.28s (+13.05%) 19.38s 20.33s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 33 33 ~ ~ ~ p=1.000 n=6
Symbols 947,886 947,886 ~ ~ ~ p=1.000 n=6
Types 410,840 410,840 ~ ~ ~ p=1.000 n=6
Memory used 1,224,807k (± 0.00%) 1,726,563k (± 0.01%) 🔻+501,756k (+40.97%) 1,726,397k 1,726,658k p=0.005 n=6
Parse Time 8.13s (± 0.42%) 9.82s (± 0.40%) 🔻+1.70s (+20.86%) 9.77s 9.87s p=0.005 n=6
Bind Time 2.27s (± 0.56%) 4.47s (± 0.70%) 🔻+2.20s (+96.84%) 4.44s 4.52s p=0.005 n=6
Check Time 37.83s (± 0.19%) 38.56s (± 0.40%) +0.73s (+ 1.93%) 38.41s 38.80s p=0.005 n=6
Emit Time 18.27s (± 0.71%) 19.95s (± 1.08%) 🔻+1.69s (+ 9.23%) 19.59s 20.22s p=0.005 n=6
Total Time 66.49s (± 0.17%) 72.80s (± 0.27%) 🔻+6.31s (+ 9.49%) 72.50s 73.09s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,535,973 2,535,973 ~ ~ ~ p=1.000 n=6
Types 935,535 935,535 ~ ~ ~ p=1.000 n=6
Memory used 2,369,503k (± 0.01%) 2,790,944k (± 0.01%) 🔻+421,442k (+17.79%) 2,790,735k 2,791,202k p=0.005 n=6
Parse Time 11.37s (± 0.39%) 13.29s (± 0.64%) 🔻+1.92s (+16.92%) 13.19s 13.40s p=0.005 n=6
Bind Time 2.66s (± 0.57%) 4.54s (± 0.27%) 🔻+1.89s (+71.19%) 4.54s 4.57s p=0.004 n=6
Check Time 91.84s (± 1.04%) 98.91s (± 4.39%) 🔻+7.08s (+ 7.70%) 94.86s 104.59s p=0.005 n=6
Emit Time 0.35s (± 1.16%) 0.35s (± 1.16%) ~ 0.35s 0.36s p=1.000 n=6
Total Time 106.21s (± 0.86%) 117.11s (± 3.70%) 🔻+10.89s (+10.26%) 112.95s 122.71s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,258,106 1,610,360 🔻+352,254 (+28.00%) ~ ~ p=0.001 n=6
Types 266,266 296,415 🔻+30,149 (+11.32%) ~ ~ p=0.001 n=6
Memory used 3,026,235k (± 9.68%) 4,422,498k (±15.51%) 🔻+1,396,262k (+46.14%) 3,535,287k 4,866,950k p=0.005 n=6
Parse Time 6.54s (± 1.04%) 8.50s (± 2.14%) 🔻+1.97s (+30.07%) 8.27s 8.66s p=0.005 n=6
Bind Time 2.34s (± 1.24%) 4.63s (± 1.18%) 🔻+2.29s (+97.79%) 4.57s 4.69s p=0.005 n=6
Check Time 42.98s (± 0.47%) 49.38s (± 0.59%) 🔻+6.41s (+14.91%) 48.91s 49.71s p=0.005 n=6
Emit Time 3.48s (± 3.51%) 4.85s (± 1.92%) 🔻+1.37s (+39.51%) 4.76s 4.98s p=0.005 n=6
Total Time 55.34s (± 0.66%) 67.37s (± 0.60%) 🔻+12.04s (+21.75%) 66.82s 67.73s 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,258,106 1,610,360 🔻+352,254 (+28.00%) ~ ~ p=0.001 n=6
Types 266,266 296,415 🔻+30,149 (+11.32%) ~ ~ p=0.001 n=6
Memory used 2,645,072k (±10.90%) 4,981,678k (± 0.02%) 🔻+2,336,606k (+88.34%) 4,980,514k 4,983,208k p=0.005 n=6
Parse Time 8.22s (± 2.45%) 10.80s (± 0.46%) 🔻+2.58s (+31.42%) 10.73s 10.86s p=0.005 n=6
Bind Time 2.65s (± 2.00%) 5.63s (± 1.13%) 🔻+2.98s (+112.37%) 5.51s 5.68s p=0.005 n=6
Check Time 53.28s (± 0.46%) 61.07s (± 0.28%) 🔻+7.79s (+14.62%) 60.81s 61.29s p=0.005 n=6
Emit Time 4.58s (± 6.11%) 6.03s (± 1.87%) 🔻+1.44s (+31.44%) 5.87s 6.22s p=0.005 n=6
Total Time 68.74s (± 0.58%) 83.54s (± 0.28%) 🔻+14.80s (+21.54%) 83.26s 83.88s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 261,785 459,532 🔻+197,747 (+75.54%) ~ ~ p=0.001 n=6
Types 106,508 128,536 🔻+22,028 (+20.68%) ~ ~ p=0.001 n=6
Memory used 438,761k (± 0.01%) 762,267k (± 0.01%) 🔻+323,506k (+73.73%) 762,168k 762,375k p=0.005 n=6
Parse Time 4.38s (± 0.97%) 5.43s (± 0.71%) 🔻+1.05s (+24.08%) 5.37s 5.48s p=0.005 n=6
Bind Time 1.63s (± 0.72%) 2.99s (± 0.72%) 🔻+1.37s (+83.83%) 2.96s 3.02s p=0.005 n=6
Check Time 23.38s (± 0.35%) 28.86s (± 0.42%) 🔻+5.48s (+23.45%) 28.66s 28.99s p=0.005 n=6
Emit Time 1.92s (± 0.72%) 3.28s (± 1.43%) 🔻+1.35s (+70.22%) 3.20s 3.33s p=0.005 n=6
Total Time 31.31s (± 0.41%) 40.55s (± 0.31%) 🔻+9.24s (+29.53%) 40.34s 40.68s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,919 225,919 ~ ~ ~ p=1.000 n=6
Types 94,415 94,415 ~ ~ ~ p=1.000 n=6
Memory used 371,158k (± 0.05%) 508,568k (± 0.01%) 🔻+137,410k (+37.02%) 508,462k 508,638k p=0.005 n=6
Parse Time 2.91s (± 1.16%) 3.33s (± 0.99%) 🔻+0.43s (+14.62%) 3.30s 3.37s p=0.005 n=6
Bind Time 1.59s (± 1.01%) 2.42s (± 1.17%) 🔻+0.83s (+52.36%) 2.37s 2.45s p=0.005 n=6
Check Time 16.37s (± 0.30%) 16.82s (± 0.35%) +0.45s (+ 2.73%) 16.77s 16.90s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.87s (± 0.26%) 22.57s (± 0.12%) 🔻+1.70s (+ 8.16%) 22.54s 22.61s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 3 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,111,189 0 ~ ~ ~ p=1.000 n=6+0
Types 1,072,452 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,203,322k (± 0.01%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 14.05s (± 0.50%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 4.44s (± 0.77%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 85.62s (± 1.57%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 23.36s (± 8.15%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 127.47s (± 2.51%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 285,140 285,140 ~ ~ ~ p=1.000 n=6
Types 115,774 115,774 ~ ~ ~ p=1.000 n=6
Memory used 434,848k (± 0.02%) 560,241k (± 0.01%) 🔻+125,393k (+28.84%) 560,202k 560,293k p=0.005 n=6
Parse Time 3.30s (± 0.49%) 3.76s (± 0.15%) 🔻+0.46s (+13.85%) 3.75s 3.76s p=0.004 n=6
Bind Time 1.46s (± 0.57%) 2.04s (± 0.37%) 🔻+0.57s (+39.14%) 2.03s 2.05s p=0.004 n=6
Check Time 15.28s (± 0.23%) 15.89s (± 0.23%) 🔻+0.61s (+ 4.00%) 15.84s 15.93s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 20.04s (± 0.19%) 21.69s (± 0.19%) 🔻+1.64s (+ 8.19%) 21.63s 21.72s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 540,222 540,222 ~ ~ ~ p=1.000 n=6
Types 181,145 181,145 ~ ~ ~ p=1.000 n=6
Memory used 483,858k (± 0.01%) 586,623k (± 0.01%) 🔻+102,766k (+21.24%) 586,507k 586,707k p=0.005 n=6
Parse Time 3.36s (± 0.64%) 3.78s (± 0.52%) 🔻+0.42s (+12.35%) 3.75s 3.81s p=0.005 n=6
Bind Time 1.17s (± 1.13%) 1.96s (± 0.85%) 🔻+0.79s (+67.28%) 1.94s 1.98s p=0.005 n=6
Check Time 19.03s (± 0.47%) 19.84s (± 0.52%) 🔻+0.81s (+ 4.23%) 19.68s 19.95s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 23.57s (± 0.38%) 25.57s (± 0.41%) 🔻+2.00s (+ 8.50%) 25.41s 25.71s p=0.005 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

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,320ms (± 0.22%) 2,879ms (± 0.26%) 🔻+559ms (+24.08%) 2,868ms 2,888ms p=0.005 n=6
Req 2 - geterr 5,282ms (± 0.50%) 5,865ms (± 0.42%) 🔻+584ms (+11.05%) 5,840ms 5,898ms p=0.005 n=6
Req 3 - references 265ms (± 0.78%) 314ms (± 3.59%) 🔻+50ms (+18.78%) 303ms 326ms p=0.005 n=6
Req 4 - navto 229ms (± 0.66%) 275ms (± 1.23%) 🔻+46ms (+20.20%) 269ms 277ms p=0.005 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 82ms (± 6.31%) 69ms (± 2.38%) 🟩-14ms (-16.43%) 68ms 72ms p=0.004 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,460ms (± 0.82%) 3,103ms (± 0.43%) 🔻+643ms (+26.14%) 3,085ms 3,119ms p=0.005 n=6
Req 2 - geterr 3,972ms (± 0.42%) 4,365ms (± 0.38%) 🔻+393ms (+ 9.89%) 4,345ms 4,386ms p=0.005 n=6
Req 3 - references 283ms (± 1.09%) 348ms (± 1.13%) 🔻+65ms (+23.09%) 345ms 356ms p=0.005 n=6
Req 4 - navto 226ms (± 0.28%) 279ms (± 2.48%) 🔻+53ms (+23.53%) 265ms 282ms p=0.003 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 84ms (± 5.60%) 79ms (± 4.95%) ~ 76ms 87ms p=0.285 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,221ms (± 0.26%) 6,536ms (± 0.47%) 🔻+1,316ms (+25.21%) 6,492ms 6,585ms p=0.005 n=6
Req 2 - geterr 1,151ms (± 1.20%) 1,114ms (± 0.56%) 🟩-37ms (- 3.17%) 1,106ms 1,124ms p=0.005 n=6
Req 3 - references 80ms (± 4.76%) 93ms (± 0.44%) 🔻+13ms (+15.56%) 92ms 93ms p=0.003 n=6
Req 4 - navto 449ms (± 0.36%) 403ms (± 1.41%) 🟩-46ms (-10.24%) 397ms 409ms p=0.004 n=6
Req 5 - completionInfo count 3,450 3,450 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 843ms (± 0.79%) 896ms (± 1.58%) 🔻+53ms (+ 6.27%) 881ms 910ms p=0.005 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 160.06ms (± 0.17%) 167.64ms (± 0.15%) 🔻+7.58ms (+ 4.74%) 166.68ms 171.44ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 234.30ms (± 0.15%) 258.73ms (± 0.13%) 🔻+24.43ms (+10.43%) 257.26ms 264.12ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 229.16ms (± 0.15%) 246.96ms (± 0.13%) 🔻+17.80ms (+ 7.77%) 245.35ms 250.81ms p=0.000 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 228.58ms (± 0.16%) 246.43ms (± 0.16%) 🔻+17.85ms (+ 7.81%) 244.83ms 250.49ms p=0.000 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

@rbuckton
Copy link
Member Author

rbuckton commented Oct 3, 2024

@typescript-bot perf test faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Oct 3, 2024

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

Command Status Results
perf test faster ✅ Started 👀 Results

@microsoft microsoft deleted a comment from typescript-bot Oct 3, 2024
@microsoft microsoft deleted a comment from typescript-bot Oct 3, 2024
@microsoft microsoft deleted a comment from typescript-bot Oct 3, 2024
@microsoft microsoft deleted a comment from typescript-bot Oct 3, 2024
@typescript-bot
Copy link
Collaborator

@rbuckton
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 31 31 ~ ~ ~ p=1.000 n=6
Symbols 62,340 62,340 ~ ~ ~ p=1.000 n=6
Types 50,379 50,379 ~ ~ ~ p=1.000 n=6
Memory used 195,794k (± 0.71%) 282,919k (± 0.05%) 🔻+87,125k (+44.50%) 282,686k 283,088k p=0.005 n=6
Parse Time 1.61s (± 1.20%) 1.70s (± 2.44%) 🔻+0.09s (+ 5.48%) 1.65s 1.76s p=0.005 n=6
Bind Time 0.87s (± 1.03%) 1.54s (± 0.89%) 🔻+0.67s (+77.59%) 1.53s 1.57s p=0.005 n=6
Check Time 11.76s (± 0.61%) 13.21s (± 1.38%) 🔻+1.45s (+12.36%) 13.03s 13.41s p=0.005 n=6
Emit Time 3.36s (± 3.25%) 4.49s (± 4.91%) 🔻+1.13s (+33.68%) 4.08s 4.71s p=0.005 n=6
Total Time 17.60s (± 0.40%) 20.95s (± 1.59%) 🔻+3.35s (+19.02%) 20.35s 21.32s p=0.005 n=6
angular-1 - node (v18.15.0, x64)
Errors 33 33 ~ ~ ~ p=1.000 n=6
Symbols 947,886 947,886 ~ ~ ~ p=1.000 n=6
Types 410,840 410,840 ~ ~ ~ p=1.000 n=6
Memory used 1,224,612k (± 0.00%) 1,811,305k (± 0.00%) 🔻+586,694k (+47.91%) 1,811,260k 1,811,340k p=0.005 n=6
Parse Time 6.63s (± 0.49%) 8.23s (± 0.77%) 🔻+1.60s (+24.19%) 8.17s 8.31s p=0.005 n=6
Bind Time 1.89s (± 0.29%) 3.96s (± 0.84%) 🔻+2.07s (+109.90%) 3.92s 4.01s p=0.004 n=6
Check Time 31.76s (± 0.26%) 36.03s (± 0.33%) 🔻+4.26s (+13.42%) 35.86s 36.15s p=0.005 n=6
Emit Time 15.23s (± 0.53%) 16.38s (± 0.26%) 🔻+1.15s (+ 7.54%) 16.30s 16.41s p=0.005 n=6
Total Time 55.50s (± 0.24%) 64.59s (± 0.23%) 🔻+9.08s (+16.36%) 64.35s 64.81s p=0.005 n=6
mui-docs - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,537,362 2,537,362 ~ ~ ~ p=1.000 n=6
Types 935,789 935,789 ~ ~ ~ p=1.000 n=6
Memory used 2,371,723k (± 0.00%) 3,073,324k (± 0.00%) 🔻+701,601k (+29.58%) 3,073,244k 3,073,430k p=0.005 n=6
Parse Time 9.49s (± 0.14%) 11.08s (± 0.17%) 🔻+1.60s (+16.81%) 11.05s 11.10s p=0.005 n=6
Bind Time 2.19s (± 0.55%) 4.09s (± 0.51%) 🔻+1.90s (+86.70%) 4.07s 4.12s p=0.004 n=6
Check Time 76.26s (± 0.52%) 97.91s (± 0.92%) 🔻+21.64s (+28.38%) 97.08s 99.65s p=0.005 n=6
Emit Time 0.28s (± 2.88%) 0.30s (± 1.70%) 🔻+0.02s (+ 7.06%) 0.30s 0.31s p=0.004 n=6
Total Time 88.23s (± 0.45%) 113.39s (± 0.79%) 🔻+25.16s (+28.51%) 112.55s 115.11s p=0.005 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,258,106 1,646,954 🔻+388,848 (+30.91%) ~ ~ p=0.001 n=6
Types 266,266 304,305 🔻+38,039 (+14.29%) ~ ~ p=0.001 n=6
Memory used 2,422,381k (± 0.02%) 4,085,849k (± 9.23%) 🔻+1,663,468k (+68.67%) 3,841,962k 4,573,342k p=0.005 n=6
Parse Time 5.21s (± 0.81%) 6.72s (± 0.82%) 🔻+1.50s (+28.80%) 6.64s 6.78s p=0.005 n=6
Bind Time 1.94s (± 0.42%) 4.12s (± 0.79%) 🔻+2.18s (+112.56%) 4.07s 4.16s p=0.005 n=6
Check Time 35.57s (± 0.62%) 45.03s (± 0.67%) 🔻+9.46s (+26.59%) 44.63s 45.35s p=0.005 n=6
Emit Time 3.02s (± 1.59%) 4.60s (± 0.37%) 🔻+1.58s (+52.21%) 4.58s 4.63s p=0.005 n=6
Total Time 45.75s (± 0.38%) 60.46s (± 0.49%) 🔻+14.71s (+32.16%) 60.09s 60.80s 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,258,106 1,646,954 🔻+388,848 (+30.91%) ~ ~ p=0.001 n=6
Types 266,266 304,305 🔻+38,039 (+14.29%) ~ ~ p=0.001 n=6
Memory used 2,495,992k (± 0.02%) 4,031,833k (± 7.28%) 🔻+1,535,841k (+61.53%) 3,907,491k 4,631,789k p=0.005 n=6
Parse Time 5.36s (± 0.69%) 6.87s (± 0.89%) 🔻+1.51s (+28.20%) 6.82s 6.99s p=0.005 n=6
Bind Time 1.74s (± 0.43%) 4.08s (± 0.40%) 🔻+2.34s (+134.90%) 4.06s 4.11s p=0.004 n=6
Check Time 35.90s (± 0.15%) 45.47s (± 0.50%) 🔻+9.57s (+26.66%) 45.08s 45.66s p=0.005 n=6
Emit Time 3.05s (± 0.83%) 4.74s (± 2.64%) 🔻+1.69s (+55.30%) 4.60s 4.91s p=0.005 n=6
Total Time 46.06s (± 0.16%) 61.16s (± 0.25%) 🔻+15.10s (+32.80%) 60.91s 61.31s p=0.005 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 261,785 485,416 🔻+223,631 (+85.43%) ~ ~ p=0.001 n=6
Types 106,508 136,330 🔻+29,822 (+28.00%) ~ ~ p=0.001 n=6
Memory used 438,734k (± 0.01%) 839,197k (± 0.02%) 🔻+400,463k (+91.28%) 838,963k 839,416k p=0.005 n=6
Parse Time 3.53s (± 1.18%) 4.50s (± 0.75%) 🔻+0.98s (+27.69%) 4.46s 4.56s p=0.005 n=6
Bind Time 1.31s (± 1.15%) 2.53s (± 0.82%) 🔻+1.22s (+93.02%) 2.50s 2.56s p=0.005 n=6
Check Time 18.88s (± 0.41%) 27.55s (± 1.83%) 🔻+8.67s (+45.91%) 27.23s 28.57s p=0.005 n=6
Emit Time 1.53s (± 1.12%) 3.31s (± 0.88%) 🔻+1.78s (+116.21%) 3.28s 3.36s p=0.005 n=6
Total Time 25.25s (± 0.39%) 37.90s (± 1.30%) 🔻+12.65s (+50.10%) 37.55s 38.89s p=0.005 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 68 68 ~ ~ ~ p=1.000 n=6
Symbols 225,919 225,919 ~ ~ ~ p=1.000 n=6
Types 94,415 94,415 ~ ~ ~ p=1.000 n=6
Memory used 371,174k (± 0.03%) 532,076k (± 0.01%) 🔻+160,903k (+43.35%) 531,999k 532,198k p=0.005 n=6
Parse Time 3.64s (± 0.64%) 4.20s (± 1.10%) 🔻+0.56s (+15.35%) 4.12s 4.26s p=0.005 n=6
Bind Time 1.97s (± 1.26%) 3.23s (± 0.46%) 🔻+1.26s (+64.18%) 3.21s 3.25s p=0.005 n=6
Check Time 20.35s (± 0.30%) 22.46s (± 0.30%) 🔻+2.11s (+10.36%) 22.39s 22.58s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 25.95s (± 0.32%) 29.89s (± 0.32%) 🔻+3.93s (+15.15%) 29.80s 30.06s p=0.005 n=6
vscode - node (v18.15.0, x64)
Errors 3 0 ~ ~ ~ p=1.000 n=6+0
Symbols 3,110,921 0 ~ ~ ~ p=1.000 n=6+0
Types 1,072,486 0 ~ ~ ~ p=1.000 n=6+0
Memory used 3,203,828k (± 0.01%) 0k ~ ~ ~ p=1.000 n=6+0
Parse Time 14.03s (± 0.17%) 0s ~ ~ ~ p=1.000 n=6+0
Bind Time 4.52s (± 2.76%) 0s ~ ~ ~ p=1.000 n=6+0
Check Time 85.57s (± 1.51%) 0s ~ ~ ~ p=1.000 n=6+0
Emit Time 23.41s (± 7.49%) 0s ~ ~ ~ p=1.000 n=6+0
Total Time 127.53s (± 2.31%) 0s ~ ~ ~ p=1.000 n=6+0
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 285,146 285,146 ~ ~ ~ p=1.000 n=6
Types 115,776 115,776 ~ ~ ~ p=1.000 n=6
Memory used 434,827k (± 0.01%) 600,285k (± 0.01%) 🔻+165,458k (+38.05%) 600,237k 600,353k p=0.005 n=6
Parse Time 4.05s (± 0.46%) 4.72s (± 0.56%) 🔻+0.67s (+16.44%) 4.70s 4.77s p=0.005 n=6
Bind Time 1.72s (± 1.66%) 2.71s (± 1.13%) 🔻+0.99s (+57.31%) 2.67s 2.75s p=0.005 n=6
Check Time 18.27s (± 0.45%) 20.22s (± 0.25%) 🔻+1.94s (+10.63%) 20.13s 20.28s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 24.05s (± 0.44%) 27.64s (± 0.27%) 🔻+3.59s (+14.93%) 27.57s 27.78s p=0.005 n=6
xstate-main - node (v18.15.0, x64)
Errors 3 3 ~ ~ ~ p=1.000 n=6
Symbols 540,222 540,222 ~ ~ ~ p=1.000 n=6
Types 181,145 181,145 ~ ~ ~ p=1.000 n=6
Memory used 483,897k (± 0.01%) 629,406k (± 0.00%) 🔻+145,509k (+30.07%) 629,373k 629,446k p=0.005 n=6
Parse Time 4.17s (± 0.68%) 4.73s (± 0.70%) 🔻+0.56s (+13.35%) 4.68s 4.77s p=0.005 n=6
Bind Time 1.46s (± 1.35%) 2.75s (± 0.32%) 🔻+1.29s (+88.79%) 2.74s 2.76s p=0.005 n=6
Check Time 23.64s (± 0.36%) 26.09s (± 0.22%) 🔻+2.45s (+10.38%) 25.99s 26.16s p=0.005 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 29.26s (± 0.32%) 33.56s (± 0.19%) 🔻+4.30s (+14.70%) 33.45s 33.63s p=0.005 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.

2 participants