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

Move incremental state to WeakSets #58087

Merged
merged 3 commits into from
Apr 18, 2024

Conversation

jakebailey
Copy link
Member

It turns out that the extra props we shove on nodes in incremental parsing are just "did we previously incrementally parse this, if so assert" and "did we make an edit that means we have to reparse", both of which are only ever set to true, so they don't even need to be WeakMaps, they're just write-only WeakSets.

@typescript-bot typescript-bot added Author: Team For Uncommitted Bug PR for untriaged, rejected, closed or missing bug labels Apr 5, 2024
@jakebailey
Copy link
Member Author

@typescript-bot perf test this

Doubt this will do much of anything though, given we don't really have great perf tests for incremental parsing.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 5, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Angular - node (v18.15.0, x64)
Memory used 295,730k (± 0.00%) 295,708k (± 0.01%) ~ 295,675k 295,739k p=0.128 n=6
Parse Time 3.19s (± 0.38%) 3.18s (± 0.64%) ~ 3.15s 3.21s p=0.744 n=6
Bind Time 0.98s (± 1.53%) 0.98s (± 1.50%) ~ 0.97s 1.00s p=1.000 n=6
Check Time 9.67s (± 0.46%) 9.68s (± 0.21%) ~ 9.65s 9.71s p=1.000 n=6
Emit Time 8.40s (± 0.50%) 8.42s (± 0.53%) ~ 8.37s 8.50s p=0.373 n=6
Total Time 22.24s (± 0.39%) 22.26s (± 0.30%) ~ 22.19s 22.36s p=0.748 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 192,840k (± 0.95%) 192,874k (± 0.99%) ~ 191,616k 195,406k p=0.936 n=6
Parse Time 2.02s (± 1.02%) 2.04s (± 1.51%) ~ 1.99s 2.07s p=0.512 n=6
Bind Time 1.07s (± 1.53%) 1.06s (± 0.93%) ~ 1.05s 1.07s p=0.677 n=6
Check Time 13.84s (± 0.22%) 13.82s (± 0.50%) ~ 13.71s 13.89s p=0.871 n=6
Emit Time 3.88s (± 0.14%) 3.84s (± 0.89%) ~ 3.79s 3.88s p=0.056 n=6
Total Time 20.81s (± 0.26%) 20.77s (± 0.38%) ~ 20.63s 20.86s p=0.376 n=6
Monaco - node (v18.15.0, x64)
Memory used 347,712k (± 0.01%) 347,728k (± 0.00%) ~ 347,715k 347,742k p=0.336 n=6
Parse Time 3.67s (± 1.52%) 3.72s (± 1.04%) ~ 3.67s 3.76s p=0.126 n=6
Bind Time 1.35s (± 2.70%) 1.32s (± 0.39%) -0.04s (- 2.59%) 1.31s 1.32s p=0.021 n=6
Check Time 10.10s (± 0.31%) 10.12s (± 0.16%) ~ 10.11s 10.15s p=0.372 n=6
Emit Time 6.05s (± 0.65%) 6.03s (± 0.17%) ~ 6.02s 6.05s p=0.935 n=6
Total Time 21.17s (± 0.26%) 21.19s (± 0.24%) ~ 21.12s 21.24s p=0.520 n=6
TFS - node (v18.15.0, x64)
Memory used 302,548k (± 0.01%) 302,557k (± 0.01%) ~ 302,514k 302,575k p=0.199 n=6
Parse Time 2.97s (± 0.81%) 2.97s (± 0.67%) ~ 2.94s 2.99s p=1.000 n=6
Bind Time 1.44s (± 0.52%) 1.44s (± 0.52%) ~ 1.43s 1.45s p=1.000 n=6
Check Time 9.17s (± 0.42%) 9.16s (± 0.42%) ~ 9.10s 9.21s p=0.686 n=6
Emit Time 5.31s (± 0.73%) 5.29s (± 0.42%) ~ 5.25s 5.31s p=0.293 n=6
Total Time 18.89s (± 0.36%) 18.86s (± 0.29%) ~ 18.78s 18.93s p=0.469 n=6
material-ui - node (v18.15.0, x64)
Memory used 510,546k (± 0.00%) 510,567k (± 0.01%) ~ 510,516k 510,619k p=0.471 n=6
Parse Time 3.93s (± 0.43%) 3.94s (± 0.39%) ~ 3.92s 3.96s p=0.370 n=6
Bind Time 1.45s (± 1.04%) 1.45s (± 0.58%) ~ 1.44s 1.46s p=0.868 n=6
Check Time 25.26s (± 0.46%) 25.23s (± 0.24%) ~ 25.13s 25.31s p=0.686 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 30.63s (± 0.38%) 30.62s (± 0.21%) ~ 30.53s 30.73s p=0.810 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,743,878k (± 0.00%) 1,743,896k (± 0.00%) ~ 1,743,831k 1,743,982k p=0.689 n=6
Parse Time 9.64s (± 0.21%) 9.67s (± 0.69%) ~ 9.59s 9.79s p=0.514 n=6
Bind Time 3.40s (± 0.29%) 3.40s (± 0.64%) ~ 3.36s 3.42s p=0.933 n=6
Check Time 81.36s (± 0.42%) 81.49s (± 0.45%) ~ 80.93s 81.90s p=0.378 n=6
Emit Time 0.19s (± 2.67%) 0.19s (± 2.67%) ~ 0.19s 0.20s p=1.000 n=6
Total Time 94.59s (± 0.37%) 94.75s (± 0.37%) ~ 94.19s 95.15s p=0.298 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,298,892k (± 0.03%) 2,298,824k (± 0.04%) ~ 2,297,458k 2,300,034k p=0.936 n=6
Parse Time 5.00s (± 0.65%) 5.01s (± 0.68%) ~ 4.97s 5.06s p=1.000 n=6
Bind Time 1.86s (± 0.53%) 1.86s (± 1.04%) ~ 1.84s 1.89s p=0.805 n=6
Check Time 33.52s (± 0.34%) 33.49s (± 0.15%) ~ 33.40s 33.54s p=0.575 n=6
Emit Time 2.65s (± 1.93%) 2.60s (± 2.03%) ~ 2.55s 2.67s p=0.173 n=6
Total Time 43.05s (± 0.29%) 42.97s (± 0.11%) ~ 42.91s 43.04s p=0.378 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,373,405k (± 0.04%) 2,373,291k (± 0.04%) ~ 2,372,260k 2,375,037k p=0.810 n=6
Parse Time 5.19s (± 0.67%) 5.15s (± 1.16%) ~ 5.07s 5.24s p=0.148 n=6
Bind Time 1.69s (± 1.32%) 1.69s (± 1.12%) ~ 1.67s 1.71s p=1.000 n=6
Check Time 33.87s (± 0.41%) 33.87s (± 0.19%) ~ 33.78s 33.96s p=0.873 n=6
Emit Time 2.67s (± 2.61%) 2.66s (± 2.22%) ~ 2.56s 2.74s p=0.471 n=6
Total Time 43.44s (± 0.49%) 43.39s (± 0.18%) ~ 43.27s 43.48s p=0.378 n=6
self-compiler - node (v18.15.0, x64)
Memory used 418,053k (± 0.00%) 417,574k (± 0.01%) -479k (- 0.11%) 417,531k 417,612k p=0.005 n=6
Parse Time 4.14s (± 0.39%) 4.14s (± 0.36%) ~ 4.12s 4.16s p=1.000 n=6
Bind Time 1.59s (± 1.56%) 1.59s (± 0.95%) ~ 1.57s 1.61s p=0.513 n=6
Check Time 21.97s (± 0.44%) 21.94s (± 0.46%) ~ 21.77s 22.05s p=0.688 n=6
Emit Time 1.71s (± 1.94%) 1.70s (± 1.88%) ~ 1.66s 1.73s p=0.568 n=6
Total Time 29.41s (± 0.30%) 29.36s (± 0.34%) ~ 29.22s 29.48s p=0.575 n=6
vscode - node (v18.15.0, x64)
Memory used 2,904,114k (± 0.00%) 2,904,125k (± 0.00%) ~ 2,904,061k 2,904,204k p=0.936 n=6
Parse Time 12.96s (± 0.44%) 12.97s (± 0.17%) ~ 12.93s 12.99s p=0.629 n=6
Bind Time 4.05s (± 0.33%) 4.04s (± 0.21%) ~ 4.03s 4.05s p=0.788 n=6
Check Time 71.17s (± 0.53%) 71.13s (± 0.52%) ~ 70.65s 71.54s p=0.810 n=6
Emit Time 19.51s (± 0.77%) 19.45s (± 0.55%) ~ 19.31s 19.59s p=0.470 n=6
Total Time 107.70s (± 0.39%) 107.59s (± 0.38%) ~ 107.08s 107.95s p=1.000 n=6
webpack - node (v18.15.0, x64)
Memory used 408,736k (± 0.02%) 408,673k (± 0.01%) ~ 408,624k 408,738k p=0.128 n=6
Parse Time 4.79s (± 0.55%) 4.79s (± 0.55%) ~ 4.75s 4.82s p=0.805 n=6
Bind Time 2.02s (± 0.98%) 2.03s (± 1.06%) ~ 2.00s 2.06s p=0.165 n=6
Check Time 20.72s (± 0.35%) 20.64s (± 0.46%) ~ 20.52s 20.81s p=0.171 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.53s (± 0.30%) 27.46s (± 0.44%) ~ 27.31s 27.68s p=0.229 n=6
xstate - node (v18.15.0, x64)
Memory used 514,455k (± 0.02%) 514,476k (± 0.02%) ~ 514,325k 514,548k p=0.810 n=6
Parse Time 4.89s (± 0.56%) 4.90s (± 0.40%) ~ 4.88s 4.93s p=0.573 n=6
Bind Time 2.31s (± 0.72%) 2.31s (± 0.45%) ~ 2.30s 2.32s p=0.797 n=6
Check Time 4.26s (± 0.83%) 4.26s (± 0.91%) ~ 4.21s 4.31s p=1.000 n=6
Emit Time 0.11s (± 4.76%) 0.11s (± 4.76%) ~ 0.11s 0.12s p=1.000 n=6
Total Time 11.58s (± 0.51%) 11.60s (± 0.32%) ~ 11.54s 11.64s p=0.629 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - 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)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate - 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 3,501ms (± 0.84%) 3,508ms (± 0.37%) ~ 3,494ms 3,525ms p=0.872 n=6
Req 2 - geterr 7,439ms (± 0.73%) 7,437ms (± 0.86%) ~ 7,352ms 7,548ms p=1.000 n=6
Req 3 - references 425ms (± 0.81%) 428ms (± 0.91%) ~ 424ms 435ms p=0.226 n=6
Req 4 - navto 342ms (± 1.22%) 342ms (± 0.89%) ~ 336ms 344ms p=0.652 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 120ms (± 7.83%) 122ms (± 5.45%) ~ 118ms 135ms p=0.870 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,673ms (± 0.70%) 3,657ms (± 0.59%) ~ 3,618ms 3,678ms p=0.108 n=6
Req 2 - geterr 5,503ms (± 0.32%) 5,516ms (± 0.60%) ~ 5,483ms 5,564ms p=0.688 n=6
Req 3 - references 457ms (± 1.17%) 455ms (± 1.71%) ~ 445ms 463ms p=0.872 n=6
Req 4 - navto 336ms (± 0.61%) 336ms (± 1.10%) ~ 330ms 341ms p=1.000 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 124ms (± 1.02%) 125ms (± 0.41%) ~ 124ms 125ms p=0.191 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,810ms (± 0.67%) 3,809ms (± 0.48%) ~ 3,783ms 3,835ms p=1.000 n=6
Req 2 - geterr 2,181ms (± 1.00%) 2,185ms (± 0.66%) ~ 2,165ms 2,197ms p=0.873 n=6
Req 3 - references 130ms (± 1.13%) 131ms (± 2.24%) ~ 129ms 137ms p=0.366 n=6
Req 4 - navto 529ms (± 1.29%) 529ms (± 0.96%) ~ 525ms 539ms p=1.000 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 428ms (± 1.34%) 427ms (± 1.33%) ~ 423ms 437ms p=0.517 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)
  • xstateTSServer - 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 154.53ms (± 0.18%) 154.65ms (± 0.17%) +0.13ms (+ 0.08%) 153.31ms 157.98ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 340.50ms (± 0.28%) 340.05ms (± 0.31%) -0.45ms (- 0.13%) 331.34ms 347.00ms p=0.000 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 332.28ms (± 0.31%) 332.48ms (± 0.27%) +0.20ms (+ 0.06%) 324.14ms 341.71ms p=0.003 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 332.21ms (± 0.31%) 332.29ms (± 0.28%) ~ 323.95ms 341.69ms p=0.546 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

@DanielRosenwasser
Copy link
Member

It's a bit of a shame that we don't have any long-running perf tests that make edits. The closest thing here is the crawler which does a few random edits.

Comment on lines 9846 to 9849
const incrementalInfo = {
incrementallyParsed: new WeakSet<SourceFile>(),
intersectsChange: new WeakSet<Node | NodeArray<Node>>(),
};
Copy link
Member Author

Choose a reason for hiding this comment

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

Probably these two should just be top-level variables, not one object.

@jakebailey
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 18, 2024

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

Command Status Results
perf test this ✅ Started 👀 Results

@typescript-bot
Copy link
Collaborator

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

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Angular - node (v18.15.0, x64)
Memory used 297,017k (± 0.01%) 297,009k (± 0.01%) ~ 296,985k 297,071k p=0.298 n=6
Parse Time 3.27s (± 0.63%) 3.27s (± 0.47%) ~ 3.24s 3.28s p=0.622 n=6
Bind Time 0.98s (± 0.42%) 0.98s (± 0.42%) ~ 0.98s 0.99s p=1.000 n=6
Check Time 9.80s (± 0.51%) 9.83s (± 0.26%) ~ 9.79s 9.87s p=0.331 n=6
Emit Time 8.45s (± 0.39%) 8.42s (± 0.28%) ~ 8.41s 8.46s p=0.277 n=6
Total Time 22.49s (± 0.18%) 22.51s (± 0.22%) ~ 22.45s 22.57s p=0.630 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used 192,948k (± 1.02%) 192,401k (± 0.78%) ~ 191,757k 195,461k p=0.936 n=6
Parse Time 2.03s (± 1.12%) 2.02s (± 0.68%) ~ 2.00s 2.04s p=1.000 n=6
Bind Time 1.07s (± 0.70%) 1.07s (± 1.02%) ~ 1.05s 1.08s p=1.000 n=6
Check Time 14.00s (± 0.25%) 14.03s (± 0.40%) ~ 13.95s 14.10s p=0.377 n=6
Emit Time 3.90s (± 1.39%) 3.88s (± 0.28%) ~ 3.86s 3.89s p=0.624 n=6
Total Time 21.00s (± 0.33%) 21.01s (± 0.26%) ~ 20.95s 21.09s p=1.000 n=6
mui-docs - node (v18.15.0, x64)
Memory used 1,750,983k (± 0.00%) 1,750,986k (± 0.00%) ~ 1,750,898k 1,751,046k p=0.810 n=6
Parse Time 8.05s (± 0.45%) 8.05s (± 0.38%) ~ 8.01s 8.10s p=0.935 n=6
Bind Time 2.73s (± 0.68%) 2.72s (± 0.28%) ~ 2.71s 2.73s p=0.503 n=6
Check Time 66.77s (± 0.32%) 67.09s (± 0.34%) +0.32s (+ 0.48%) 66.81s 67.41s p=0.045 n=6
Emit Time 0.17s (± 2.38%) 0.17s (± 4.89%) ~ 0.16s 0.18s p=0.206 n=6
Total Time 77.72s (± 0.25%) 78.02s (± 0.29%) +0.30s (+ 0.39%) 77.74s 78.36s p=0.045 n=6
self-build-src - node (v18.15.0, x64)
Memory used 2,331,692k (± 2.53%) 2,307,087k (± 0.05%) ~ 2,305,719k 2,308,554k p=0.230 n=6
Parse Time 6.02s (± 1.43%) 6.01s (± 0.82%) ~ 5.93s 6.06s p=0.810 n=6
Bind Time 2.25s (± 0.56%) 2.20s (± 1.40%) -0.05s (- 2.07%) 2.17s 2.25s p=0.015 n=6
Check Time 39.90s (± 0.35%) 39.90s (± 0.22%) ~ 39.77s 40.01s p=0.689 n=6
Emit Time 3.17s (± 4.33%) 3.13s (± 1.30%) ~ 3.06s 3.18s p=0.748 n=6
Total Time 51.37s (± 0.44%) 51.27s (± 0.22%) ~ 51.17s 51.46s p=0.377 n=6
self-build-src-public-api - node (v18.15.0, x64)
Memory used 2,381,014k (± 0.01%) 2,380,548k (± 0.03%) ~ 2,379,779k 2,381,331k p=0.298 n=6
Parse Time 6.20s (± 0.79%) 6.18s (± 0.65%) ~ 6.15s 6.25s p=0.296 n=6
Bind Time 2.05s (± 0.86%) 2.04s (± 0.74%) ~ 2.02s 2.06s p=0.375 n=6
Check Time 40.15s (± 0.18%) 40.16s (± 0.27%) ~ 40.07s 40.36s p=1.000 n=6
Emit Time 3.17s (± 2.41%) 3.20s (± 1.47%) ~ 3.13s 3.26s p=0.521 n=6
Total Time 51.58s (± 0.33%) 51.59s (± 0.26%) ~ 51.43s 51.78s p=0.810 n=6
self-compiler - node (v18.15.0, x64)
Memory used 419,458k (± 0.01%) 419,017k (± 0.02%) -441k (- 0.11%) 418,961k 419,175k p=0.005 n=6
Parse Time 4.16s (± 1.99%) 4.19s (± 0.36%) ~ 4.18s 4.22s p=0.560 n=6
Bind Time 1.62s (± 4.30%) 1.58s (± 1.44%) ~ 1.55s 1.61s p=0.329 n=6
Check Time 22.28s (± 0.26%) 22.29s (± 0.21%) ~ 22.24s 22.35s p=0.747 n=6
Emit Time 1.69s (± 1.65%) 1.71s (± 1.17%) ~ 1.69s 1.74s p=0.224 n=6
Total Time 29.75s (± 0.34%) 29.77s (± 0.20%) ~ 29.69s 29.87s p=0.873 n=6
ts-pre-modules - node (v18.15.0, x64)
Memory used 369,041k (± 0.02%) 368,954k (± 0.03%) ~ 368,850k 369,120k p=0.199 n=6
Parse Time 2.46s (± 0.56%) 2.46s (± 0.84%) ~ 2.42s 2.48s p=0.803 n=6
Bind Time 1.31s (± 1.57%) 1.32s (± 0.68%) ~ 1.31s 1.33s p=0.677 n=6
Check Time 13.31s (± 0.27%) 13.31s (± 0.33%) ~ 13.27s 13.38s p=0.808 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 17.08s (± 0.20%) 17.09s (± 0.41%) ~ 17.01s 17.19s p=1.000 n=6
vscode - node (v18.15.0, x64)
Memory used 2,917,095k (± 0.01%) 2,916,973k (± 0.01%) ~ 2,916,686k 2,917,422k p=0.575 n=6
Parse Time 11.28s (± 0.39%) 11.28s (± 0.32%) ~ 11.25s 11.35s p=0.936 n=6
Bind Time 3.41s (± 0.19%) 3.41s (± 0.34%) ~ 3.40s 3.43s p=0.485 n=6
Check Time 62.77s (± 0.75%) 62.58s (± 0.40%) ~ 62.30s 63.01s p=0.378 n=6
Emit Time 17.50s (± 5.68%) 17.77s (± 4.99%) ~ 16.61s 18.62s p=0.810 n=6
Total Time 94.96s (± 0.91%) 95.05s (± 0.79%) ~ 94.01s 95.82s p=0.810 n=6
webpack - node (v18.15.0, x64)
Memory used 409,537k (± 0.02%) 409,464k (± 0.01%) ~ 409,400k 409,538k p=0.128 n=6
Parse Time 4.84s (± 0.82%) 4.83s (± 0.92%) ~ 4.75s 4.87s p=0.936 n=6
Bind Time 2.02s (± 0.75%) 2.04s (± 0.84%) +0.03s (+ 1.24%) 2.01s 2.06s p=0.032 n=6
Check Time 21.05s (± 0.28%) 20.99s (± 0.43%) ~ 20.84s 21.11s p=0.292 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.91s (± 0.28%) 27.86s (± 0.38%) ~ 27.71s 28.02s p=0.468 n=6
xstate-main - node (v18.15.0, x64)
Memory used 458,994k (± 0.02%) 458,936k (± 0.02%) ~ 458,870k 459,108k p=0.128 n=6
Parse Time 4.01s (± 0.75%) 3.99s (± 0.47%) ~ 3.98s 4.03s p=0.514 n=6
Bind Time 1.47s (± 1.52%) 1.46s (± 1.56%) ~ 1.43s 1.50s p=0.511 n=6
Check Time 22.31s (± 0.79%) 22.33s (± 0.42%) ~ 22.22s 22.48s p=1.000 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 27.79s (± 0.56%) 27.79s (± 0.36%) ~ 27.63s 27.91s p=0.873 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - 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,815ms (± 1.03%) 2,822ms (± 1.20%) ~ 2,777ms 2,865ms p=0.689 n=6
Req 2 - geterr 6,650ms (±10.02%) 6,457ms (± 8.95%) ~ 6,100ms 7,622ms p=0.936 n=6
Req 3 - references 346ms (± 0.87%) 385ms (±11.63%) ~ 339ms 432ms p=0.170 n=6
Req 4 - navto 276ms (± 1.03%) 307ms (±10.79%) ~ 272ms 343ms p=0.106 n=6
Req 5 - completionInfo count 1,357 (± 0.00%) 1,357 (± 0.00%) ~ 1,357 1,357 p=1.000 n=6
Req 5 - completionInfo 115ms (±12.84%) 102ms (±11.11%) ~ 92ms 121ms p=0.106 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,687ms (± 1.29%) 3,628ms (± 0.33%) -59ms (- 1.60%) 3,613ms 3,650ms p=0.007 n=6
Req 2 - geterr 5,767ms (± 2.06%) 5,758ms (± 2.12%) ~ 5,669ms 5,944ms p=0.688 n=6
Req 3 - references 452ms (± 1.86%) 454ms (± 1.42%) ~ 444ms 460ms p=0.871 n=6
Req 4 - navto 338ms (± 0.45%) 341ms (± 1.48%) ~ 338ms 351ms p=0.084 n=6
Req 5 - completionInfo count 1,519 (± 0.00%) 1,519 (± 0.00%) ~ 1,519 1,519 p=1.000 n=6
Req 5 - completionInfo 118ms (± 6.76%) 119ms (± 4.72%) ~ 110ms 124ms p=1.000 n=6
xstateTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,194ms (± 0.27%) 3,186ms (± 0.29%) ~ 3,177ms 3,202ms p=0.172 n=6
Req 2 - geterr 1,742ms (± 0.44%) 1,830ms (± 9.22%) ~ 1,744ms 2,173ms p=0.050 n=6
Req 3 - references 178ms (±14.74%) 164ms (± 9.52%) ~ 152ms 185ms p=0.266 n=6
Req 4 - navto 475ms (±10.63%) 467ms (±11.51%) ~ 428ms 543ms p=0.936 n=6
Req 5 - completionInfo count 2,079 (± 0.00%) 2,079 (± 0.00%) ~ 2,079 2,079 p=1.000 n=6
Req 5 - completionInfo 423ms (±10.02%) 390ms (±11.07%) ~ 360ms 451ms p=0.092 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)
  • xstateTSServer - 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 183.12ms (± 0.17%) 183.09ms (± 0.16%) ~ 181.49ms 186.91ms p=0.591 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 342.94ms (± 0.30%) 342.84ms (± 0.29%) -0.10ms (- 0.03%) 335.05ms 346.98ms p=0.048 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 332.58ms (± 0.28%) 332.60ms (± 0.29%) ~ 324.52ms 348.57ms p=0.558 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 223.65ms (± 0.17%) 223.94ms (± 0.17%) +0.29ms (+ 0.13%) 222.44ms 229.06ms 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

@jakebailey jakebailey merged commit 207932a into microsoft:main Apr 18, 2024
25 checks passed
@jakebailey jakebailey deleted the move-incremental-state branch April 18, 2024 18:30
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.

4 participants