GeezerVison is showing github.com — Monomorphic Symbol access by rbuckton · Pull Request #51880 · microsoft/TypeScript
Conversation
In the same vein as #51682, this makes Symbol/TransientSymbol/MappedSymbol/ReverseMappedSymbol stable so that all symbol property access becomes monomorphic.
The main change is that rather than having all of the SymbolLinks properties directly on TransientSymbol, instead they are attached to a links internal property that is unconditionally set on every Symbol to ensure the map remains stable.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Zzzen, zhangyuinfinite, wrslatz, ExE-Boss, wtlin1228, SlurpTheo, and johnsoncodehk reacted with thumbs up emoji
|
Need to wait on the benchmark CI to catch up to #51682 before I schedule a perf test run.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Ron Buckton (@rbuckton)
The results of the perf run you requested are in!
Here they are:
Compiler
Comparison Report - main..51880
| Metric |
main |
51880 |
Delta |
Best |
Worst |
| Angular - node (v18.10.0, x64) |
| Memory used |
364,508k (± 0.01%) |
374,366k (± 0.02%) |
+9,858k (+ 2.70%) |
374,165k |
374,480k |
| Parse Time |
1.58s (± 0.71%) |
1.58s (± 0.88%) |
-0.01s (- 0.38%) |
1.55s |
1.61s |
| Bind Time |
0.55s (± 1.01%) |
0.54s (± 0.68%) |
-0.01s (- 2.19%) |
0.53s |
0.54s |
| Check Time |
3.89s (± 0.83%) |
3.73s (± 0.79%) |
🟩-0.16s (- 4.06%) |
3.68s |
3.80s |
| Emit Time |
3.93s (± 0.90%) |
3.85s (± 0.95%) |
-0.08s (- 1.96%) |
3.78s |
3.95s |
| Total Time |
9.95s (± 0.55%) |
9.69s (± 0.47%) |
-0.26s (- 2.59%) |
9.58s |
9.79s |
| Compiler-Unions - node (v18.10.0, x64) |
| Memory used |
197,917k (± 0.86%) |
204,620k (± 0.83%) |
+6,703k (+ 3.39%) |
200,035k |
205,827k |
| Parse Time |
0.62s (± 0.80%) |
0.63s (± 0.71%) |
+0.01s (+ 1.95%) |
0.62s |
0.64s |
| Bind Time |
0.35s (± 1.27%) |
0.35s (± 1.27%) |
0.00s ( 0.00%) |
0.34s |
0.36s |
| Check Time |
4.92s (± 0.65%) |
4.83s (± 1.13%) |
-0.09s (- 1.75%) |
4.68s |
4.93s |
| Emit Time |
1.44s (± 0.77%) |
1.44s (± 0.94%) |
-0.01s (- 0.42%) |
1.42s |
1.49s |
| Total Time |
7.33s (± 0.57%) |
7.25s (± 0.88%) |
-0.08s (- 1.08%) |
7.09s |
7.41s |
| Monaco - node (v18.10.0, x64) |
| Memory used |
347,203k (± 0.01%) |
356,305k (± 0.01%) |
+9,102k (+ 2.62%) |
356,177k |
356,430k |
| Parse Time |
1.18s (± 0.95%) |
1.19s (± 0.59%) |
+0.01s (+ 1.02%) |
1.18s |
1.21s |
| Bind Time |
0.51s (± 1.14%) |
0.50s (± 1.38%) |
-0.01s (- 2.37%) |
0.49s |
0.52s |
| Check Time |
3.65s (± 0.39%) |
3.52s (± 0.77%) |
🟩-0.13s (- 3.54%) |
3.45s |
3.58s |
| Emit Time |
2.05s (± 1.00%) |
2.06s (± 1.20%) |
+0.01s (+ 0.63%) |
2.02s |
2.11s |
| Total Time |
7.38s (± 0.43%) |
7.27s (± 0.53%) |
-0.11s (- 1.54%) |
7.16s |
7.33s |
| TFS - node (v18.10.0, x64) |
| Memory used |
306,099k (± 0.24%) |
313,649k (± 0.26%) |
+7,550k (+ 2.47%) |
312,411k |
314,807k |
| Parse Time |
0.95s (± 1.31%) |
0.95s (± 1.05%) |
-0.00s (- 0.42%) |
0.93s |
0.97s |
| Bind Time |
0.53s (± 7.71%) |
0.57s (± 2.36%) |
+0.04s (+ 8.56%) |
0.52s |
0.59s |
| Check Time |
3.37s (± 0.62%) |
3.21s (± 0.63%) |
🟩-0.17s (- 4.92%) |
3.16s |
3.24s |
| Emit Time |
2.03s (± 1.24%) |
2.02s (± 1.31%) |
-0.01s (- 0.25%) |
1.97s |
2.08s |
| Total Time |
6.88s (± 0.67%) |
6.75s (± 0.59%) |
-0.13s (- 1.93%) |
6.67s |
6.84s |
| material-ui - node (v18.10.0, x64) |
| Memory used |
451,613k (± 0.01%) |
0k |
🟩-451,613k (-100.00%) |
0k |
0k |
| Parse Time |
1.34s (± 0.62%) |
0.00s |
🟩-1.34s (-100.00%) |
0.00s |
0.00s |
| Bind Time |
0.44s (± 1.71%) |
0.00s |
🟩-0.44s (-100.00%) |
0.00s |
0.00s |
| Check Time |
10.28s (± 0.65%) |
0.00s |
🟩-10.28s (-100.00%) |
0.00s |
0.00s |
| Emit Time |
0.00s (± 0.00%) |
0.00s |
0.00s ( NaN%) |
0.00s |
0.00s |
| Total Time |
12.06s (± 0.55%) |
0.00s |
🟩-12.06s (-100.00%) |
0.00s |
0.00s |
| xstate - node (v18.10.0, x64) |
| Memory used |
553,460k (± 0.01%) |
569,687k (± 0.01%) |
+16,228k (+ 2.93%) |
569,561k |
569,802k |
| Parse Time |
1.91s (± 0.50%) |
1.92s (± 0.49%) |
+0.01s (+ 0.31%) |
1.90s |
1.95s |
| Bind Time |
0.73s (± 3.09%) |
0.70s (± 2.68%) |
🟩-0.03s (- 4.38%) |
0.66s |
0.73s |
| Check Time |
1.03s (± 1.17%) |
1.00s (± 0.89%) |
-0.02s (- 2.24%) |
0.98s |
1.02s |
| Emit Time |
0.05s (± 0.00%) |
0.05s (± 0.00%) |
0.00s ( 0.00%) |
0.05s |
0.05s |
| Total Time |
3.72s (± 0.78%) |
3.68s (± 0.53%) |
-0.05s (- 1.32%) |
3.63s |
3.72s |
| Angular - node (v16.17.1, x64) |
| Memory used |
363,840k (± 0.02%) |
373,729k (± 0.02%) |
+9,889k (+ 2.72%) |
373,584k |
373,847k |
| Parse Time |
1.92s (± 0.53%) |
1.92s (± 0.79%) |
+0.00s (+ 0.05%) |
1.89s |
1.95s |
| Bind Time |
0.67s (± 1.03%) |
0.64s (± 0.92%) |
🟩-0.02s (- 3.16%) |
0.63s |
0.66s |
| Check Time |
5.03s (± 0.50%) |
4.82s (± 0.41%) |
🟩-0.21s (- 4.20%) |
4.79s |
4.87s |
| Emit Time |
4.69s (± 1.03%) |
4.60s (± 0.88%) |
-0.09s (- 1.84%) |
4.52s |
4.68s |
| Total Time |
12.30s (± 0.42%) |
11.98s (± 0.45%) |
-0.32s (- 2.59%) |
11.86s |
12.10s |
| Compiler-Unions - node (v16.17.1, x64) |
| Memory used |
199,821k (± 0.61%) |
202,768k (± 0.58%) |
+2,948k (+ 1.48%) |
201,637k |
205,351k |
| Parse Time |
0.80s (± 0.63%) |
0.80s (± 1.03%) |
+0.01s (+ 1.26%) |
0.79s |
0.83s |
| Bind Time |
0.44s (± 1.31%) |
0.44s (± 0.75%) |
-0.00s (- 0.68%) |
0.43s |
0.45s |
| Check Time |
5.91s (± 0.46%) |
5.65s (± 0.61%) |
🟩-0.25s (- 4.32%) |
5.57s |
5.73s |
| Emit Time |
1.82s (± 1.65%) |
1.78s (± 1.14%) |
-0.04s (- 2.03%) |
1.73s |
1.83s |
| Total Time |
8.97s (± 0.46%) |
8.68s (± 0.39%) |
🟩-0.29s (- 3.20%) |
8.58s |
8.74s |
| Monaco - node (v16.17.1, x64) |
| Memory used |
346,501k (± 0.02%) |
355,634k (± 0.01%) |
+9,133k (+ 2.64%) |
355,576k |
355,797k |
| Parse Time |
1.43s (± 0.74%) |
1.43s (± 0.58%) |
+0.01s (+ 0.56%) |
1.42s |
1.45s |
| Bind Time |
0.61s (± 1.06%) |
0.60s (± 0.87%) |
-0.01s (- 1.80%) |
0.59s |
0.61s |
| Check Time |
4.64s (± 0.46%) |
4.41s (± 0.39%) |
🟩-0.23s (- 4.98%) |
4.35s |
4.44s |
| Emit Time |
2.48s (± 0.78%) |
2.48s (± 0.85%) |
-0.00s (- 0.04%) |
2.45s |
2.53s |
| Total Time |
9.16s (± 0.51%) |
8.92s (± 0.41%) |
-0.23s (- 2.57%) |
8.85s |
9.01s |
| TFS - node (v16.17.1, x64) |
| Memory used |
304,144k (± 0.02%) |
312,055k (± 0.03%) |
+7,911k (+ 2.60%) |
311,983k |
312,366k |
| Parse Time |
1.20s (± 1.83%) |
1.20s (± 1.62%) |
+0.01s (+ 0.42%) |
1.17s |
1.25s |
| Bind Time |
0.58s (± 1.56%) |
0.57s (± 1.70%) |
-0.01s (- 2.07%) |
0.55s |
0.60s |
| Check Time |
4.34s (± 0.38%) |
4.11s (± 0.39%) |
🟩-0.22s (- 5.12%) |
4.09s |
4.15s |
| Emit Time |
2.52s (± 1.45%) |
2.48s (± 0.56%) |
-0.04s (- 1.71%) |
2.45s |
2.51s |
| Total Time |
8.63s (± 0.57%) |
8.36s (± 0.38%) |
🟩-0.28s (- 3.21%) |
8.29s |
8.41s |
| material-ui - node (v16.17.1, x64) |
| Memory used |
450,957k (± 0.01%) |
0k |
🟩-450,957k (-100.00%) |
0k |
0k |
| Parse Time |
1.68s (± 0.77%) |
0.00s |
🟩-1.68s (-100.00%) |
0.00s |
0.00s |
| Bind Time |
0.50s (± 0.66%) |
0.00s |
🟩-0.50s (-100.00%) |
0.00s |
0.00s |
| Check Time |
11.72s (± 0.73%) |
0.00s |
🟩-11.72s (-100.00%) |
0.00s |
0.00s |
| Emit Time |
0.00s (± 0.00%) |
0.00s |
0.00s ( NaN%) |
0.00s |
0.00s |
| Total Time |
13.89s (± 0.67%) |
0.00s |
🟩-13.89s (-100.00%) |
0.00s |
0.00s |
| xstate - node (v16.17.1, x64) |
| Memory used |
551,026k (± 0.01%) |
567,203k (± 0.01%) |
+16,177k (+ 2.94%) |
567,121k |
567,439k |
| Parse Time |
2.31s (± 0.35%) |
2.31s (± 0.35%) |
0.00s ( 0.00%) |
2.29s |
2.33s |
| Bind Time |
0.82s (± 1.79%) |
0.80s (± 2.04%) |
-0.02s (- 2.21%) |
0.77s |
0.84s |
| Check Time |
1.34s (± 0.75%) |
1.32s (± 0.49%) |
-0.02s (- 1.42%) |
1.30s |
1.33s |
| Emit Time |
0.06s (± 0.00%) |
0.06s (± 0.00%) |
0.00s ( 0.00%) |
0.06s |
0.06s |
| Total Time |
4.53s (± 0.44%) |
4.49s (± 0.42%) |
-0.03s (- 0.75%) |
4.44s |
4.52s |
| Angular - node (v14.15.1, x64) |
| Memory used |
357,711k (± 0.01%) |
367,534k (± 0.01%) |
+9,822k (+ 2.75%) |
367,503k |
367,601k |
| Parse Time |
2.04s (± 0.47%) |
2.05s (± 0.43%) |
+0.01s (+ 0.54%) |
2.03s |
2.07s |
| Bind Time |
0.71s (± 0.56%) |
0.69s (± 0.68%) |
-0.02s (- 2.68%) |
0.68s |
0.70s |
| Check Time |
5.34s (± 0.52%) |
5.13s (± 0.53%) |
🟩-0.21s (- 3.91%) |
5.06s |
5.21s |
| Emit Time |
4.80s (± 1.16%) |
4.72s (± 0.87%) |
-0.08s (- 1.71%) |
4.64s |
4.84s |
| Total Time |
12.90s (± 0.59%) |
12.59s (± 0.54%) |
-0.30s (- 2.36%) |
12.44s |
12.74s |
| Compiler-Unions - node (v14.15.1, x64) |
| Memory used |
195,545k (± 0.63%) |
199,802k (± 0.38%) |
+4,257k (+ 2.18%) |
196,769k |
200,204k |
| Parse Time |
0.90s (± 0.25%) |
0.90s (± 0.66%) |
+0.00s (+ 0.56%) |
0.89s |
0.92s |
| Bind Time |
0.47s (± 0.63%) |
0.47s (± 0.48%) |
-0.00s (- 0.64%) |
0.46s |
0.47s |
| Check Time |
6.17s (± 0.75%) |
5.91s (± 0.60%) |
🟩-0.27s (- 4.36%) |
5.82s |
5.99s |
| Emit Time |
1.93s (± 0.91%) |
1.89s (± 0.73%) |
-0.04s (- 2.02%) |
1.86s |
1.92s |
| Total Time |
9.47s (± 0.59%) |
9.17s (± 0.37%) |
🟩-0.30s (- 3.22%) |
9.08s |
9.24s |
| Monaco - node (v14.15.1, x64) |
| Memory used |
341,503k (± 0.00%) |
350,682k (± 0.01%) |
+9,179k (+ 2.69%) |
350,626k |
350,716k |
| Parse Time |
1.58s (± 0.86%) |
1.59s (± 0.59%) |
+0.01s (+ 0.51%) |
1.58s |
1.62s |
| Bind Time |
0.65s (± 0.62%) |
0.64s (± 0.70%) |
-0.01s (- 1.69%) |
0.63s |
0.65s |
| Check Time |
4.93s (± 0.44%) |
4.70s (± 0.39%) |
🟩-0.24s (- 4.79%) |
4.67s |
4.74s |
| Emit Time |
2.58s (± 0.83%) |
2.58s (± 0.58%) |
-0.01s (- 0.27%) |
2.54s |
2.60s |
| Total Time |
9.74s (± 0.41%) |
9.49s (± 0.29%) |
-0.24s (- 2.52%) |
9.44s |
9.57s |
| TFS - node (v14.15.1, x64) |
| Memory used |
301,271k (± 0.01%) |
309,075k (± 0.01%) |
+7,804k (+ 2.59%) |
309,009k |
309,125k |
| Parse Time |
1.32s (± 1.61%) |
1.36s (± 1.35%) |
+0.04s (+ 2.79%) |
1.32s |
1.40s |
| Bind Time |
0.60s (± 0.60%) |
0.60s (± 0.56%) |
-0.00s (- 0.17%) |
0.60s |
0.61s |
| Check Time |
4.60s (± 0.78%) |
4.38s (± 0.46%) |
🟩-0.23s (- 4.91%) |
4.34s |
4.43s |
| Emit Time |
2.78s (± 0.42%) |
2.76s (± 0.65%) |
-0.02s (- 0.79%) |
2.72s |
2.80s |
| Total Time |
9.31s (± 0.52%) |
9.10s (± 0.47%) |
-0.21s (- 2.31%) |
8.99s |
9.17s |
| material-ui - node (v14.15.1, x64) |
| Memory used |
446,774k (± 0.01%) |
0k |
🟩-446,774k (-100.00%) |
0k |
0k |
| Parse Time |
1.88s (± 0.47%) |
0.00s |
🟩-1.88s (-100.00%) |
0.00s |
0.00s |
| Bind Time |
0.54s (± 0.63%) |
0.00s |
🟩-0.54s (-100.00%) |
0.00s |
0.00s |
| Check Time |
11.95s (± 0.54%) |
0.00s |
🟩-11.95s (-100.00%) |
0.00s |
0.00s |
| Emit Time |
0.00s (± 0.00%) |
0.00s |
0.00s ( NaN%) |
0.00s |
0.00s |
| Total Time |
14.37s (± 0.48%) |
0.00s |
🟩-14.37s (-100.00%) |
0.00s |
0.00s |
| xstate - node (v14.15.1, x64) |
| Memory used |
539,642k (± 0.01%) |
555,871k (± 0.01%) |
+16,229k (+ 3.01%) |
555,756k |
556,042k |
| Parse Time |
2.62s (± 0.90%) |
2.66s (± 0.70%) |
+0.03s (+ 1.33%) |
2.61s |
2.69s |
| Bind Time |
0.82s (± 0.73%) |
0.79s (± 0.94%) |
🟩-0.03s (- 3.19%) |
0.77s |
0.80s |
| Check Time |
1.44s (± 0.59%) |
1.43s (± 0.35%) |
-0.02s (- 1.11%) |
1.42s |
1.44s |
| Emit Time |
0.07s (± 0.00%) |
0.07s (± 0.00%) |
0.00s ( 0.00%) |
0.07s |
0.07s |
| Total Time |
4.96s (± 0.57%) |
4.95s (± 0.42%) |
-0.01s (- 0.16%) |
4.91s |
4.99s |
System
| Machine Name | ts-ci-ubuntu |
| Platform | linux 5.4.0-131-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
Hosts
- node (v18.10.0, x64)
- node (v16.17.1, x64)
- node (v14.15.1, x64)
Scenarios
- Angular - node (v18.10.0, x64)
- Angular - node (v16.17.1, x64)
- Angular - node (v14.15.1, x64)
- Compiler-Unions - node (v18.10.0, x64)
- Compiler-Unions - node (v16.17.1, x64)
- Compiler-Unions - node (v14.15.1, x64)
- Monaco - node (v18.10.0, x64)
- Monaco - node (v16.17.1, x64)
- Monaco - node (v14.15.1, x64)
- TFS - node (v18.10.0, x64)
- TFS - node (v16.17.1, x64)
- TFS - node (v14.15.1, x64)
- material-ui - node (v18.10.0, x64)
- material-ui - node (v16.17.1, x64)
- material-ui - node (v14.15.1, x64)
- xstate - node (v18.10.0, x64)
- xstate - node (v16.17.1, x64)
- xstate - node (v14.15.1, x64)
| Benchmark |
Name |
Iterations |
| Current |
51880 |
10 |
| Baseline |
main |
10 |
TSServer
Comparison Report - main..51880
| Metric |
main |
51880 |
Delta |
Best |
Worst |
| Compiler-UnionsTSServer - node (v18.10.0, x64) |
| Req 1 - updateOpen |
1,074ms (± 0.58%) |
1,078ms (± 0.69%) |
+4ms (+ 0.40%) |
1,067ms |
1,101ms |
| Req 2 - geterr |
2,550ms (± 0.86%) |
2,530ms (± 0.70%) |
-20ms (- 0.78%) |
2,492ms |
2,568ms |
| Req 3 - references |
165ms (± 1.05%) |
165ms (± 0.73%) |
-0ms (- 0.24%) |
161ms |
167ms |
| Req 4 - navto |
143ms (± 1.11%) |
144ms (± 1.17%) |
+1ms (+ 0.70%) |
141ms |
148ms |
| Req 5 - completionInfo count |
1,356 (± 0.00%) |
1,356 (± 0.00%) |
0 ( 0.00%) |
1,356 |
1,356 |
| Req 5 - completionInfo |
55ms (± 7.97%) |
55ms (± 7.91%) |
+0ms (+ 0.73%) |
49ms |
64ms |
| CompilerTSServer - node (v18.10.0, x64) |
| Req 1 - updateOpen |
1,150ms (± 0.67%) |
1,141ms (± 0.68%) |
-9ms (- 0.77%) |
1,118ms |
1,160ms |
| Req 2 - geterr |
1,572ms (± 0.71%) |
1,582ms (± 0.94%) |
+10ms (+ 0.61%) |
1,557ms |
1,619ms |
| Req 3 - references |
173ms (± 0.85%) |
173ms (± 1.32%) |
+0ms (+ 0.17%) |
169ms |
181ms |
| Req 4 - navto |
153ms (± 0.32%) |
154ms (± 0.44%) |
+0ms (+ 0.13%) |
153ms |
156ms |
| Req 5 - completionInfo count |
1,518 (± 0.00%) |
1,518 (± 0.00%) |
0 ( 0.00%) |
1,518 |
1,518 |
| Req 5 - completionInfo |
53ms (± 2.09%) |
52ms (± 2.67%) |
-1ms (- 1.52%) |
47ms |
54ms |
| xstateTSServer - node (v18.10.0, x64) |
| Req 1 - updateOpen |
1,546ms (± 1.01%) |
1,559ms (± 0.58%) |
+13ms (+ 0.86%) |
1,534ms |
1,574ms |
| Req 2 - geterr |
544ms (± 1.41%) |
541ms (± 1.42%) |
-3ms (- 0.59%) |
522ms |
556ms |
| Req 3 - references |
57ms (± 1.93%) |
58ms (± 3.32%) |
+0ms (+ 0.52%) |
54ms |
62ms |
| Req 4 - navto |
195ms (± 1.96%) |
194ms (± 1.02%) |
-1ms (- 0.61%) |
191ms |
200ms |
| Req 5 - completionInfo count |
3,154 (± 0.00%) |
3,154 (± 0.00%) |
0 ( 0.00%) |
3,154 |
3,154 |
| Req 5 - completionInfo |
212ms (± 2.39%) |
209ms (± 0.83%) |
-3ms (- 1.42%) |
204ms |
213ms |
| Compiler-UnionsTSServer - node (v16.17.1, x64) |
| Req 1 - updateOpen |
1,330ms (± 0.66%) |
1,330ms (± 0.81%) |
-1ms (- 0.06%) |
1,302ms |
1,343ms |
| Req 2 - geterr |
3,176ms (± 0.69%) |
3,131ms (± 0.62%) |
-44ms (- 1.40%) |
3,075ms |
3,167ms |
| Req 3 - references |
196ms (± 1.28%) |
193ms (± 0.52%) |
-3ms (- 1.38%) |
192ms |
196ms |
| Req 4 - navto |
157ms (± 0.79%) |
157ms (± 0.86%) |
+0ms (+ 0.06%) |
152ms |
159ms |
| Req 5 - completionInfo count |
1,356 (± 0.00%) |
1,356 (± 0.00%) |
0 ( 0.00%) |
1,356 |
1,356 |
| Req 5 - completionInfo |
58ms (± 1.60%) |
58ms (± 2.14%) |
+1ms (+ 1.04%) |
56ms |
61ms |
| CompilerTSServer - node (v16.17.1, x64) |
| Req 1 - updateOpen |
1,420ms (± 0.60%) |
1,415ms (± 0.25%) |
-5ms (- 0.35%) |
1,405ms |
1,423ms |
| Req 2 - geterr |
2,081ms (± 0.71%) |
2,087ms (± 0.71%) |
+6ms (+ 0.27%) |
2,051ms |
2,109ms |
| Req 3 - references |
203ms (± 0.98%) |
204ms (± 0.77%) |
+1ms (+ 0.69%) |
202ms |
210ms |
| Req 4 - navto |
169ms (± 0.97%) |
168ms (± 0.55%) |
-0ms (- 0.18%) |
166ms |
170ms |
| Req 5 - completionInfo count |
1,518 (± 0.00%) |
1,518 (± 0.00%) |
0 ( 0.00%) |
1,518 |
1,518 |
| Req 5 - completionInfo |
57ms (± 1.36%) |
56ms (± 1.04%) |
-1ms (- 2.11%) |
54ms |
57ms |
| xstateTSServer - node (v16.17.1, x64) |
| Req 1 - updateOpen |
1,881ms (± 0.41%) |
1,876ms (± 0.66%) |
-5ms (- 0.25%) |
1,846ms |
1,901ms |
| Req 2 - geterr |
696ms (± 0.63%) |
694ms (± 0.92%) |
-2ms (- 0.26%) |
680ms |
706ms |
| Req 3 - references |
66ms (± 0.68%) |
69ms (± 2.71%) |
+3ms (+ 5.17%) |
66ms |
76ms |
| Req 4 - navto |
199ms (± 0.44%) |
195ms (± 0.72%) |
-4ms (- 1.91%) |
192ms |
198ms |
| Req 5 - completionInfo count |
3,154 (± 0.00%) |
3,154 (± 0.00%) |
0 ( 0.00%) |
3,154 |
3,154 |
| Req 5 - completionInfo |
255ms (± 0.69%) |
252ms (± 1.16%) |
-4ms (- 1.37%) |
245ms |
260ms |
| Compiler-UnionsTSServer - node (v14.15.1, x64) |
| Req 1 - updateOpen |
1,480ms (± 0.67%) |
1,481ms (± 0.71%) |
+1ms (+ 0.06%) |
1,453ms |
1,504ms |
| Req 2 - geterr |
3,360ms (± 0.66%) |
3,314ms (± 0.87%) |
-47ms (- 1.38%) |
3,255ms |
3,394ms |
| Req 3 - references |
208ms (± 0.51%) |
211ms (± 0.99%) |
+3ms (+ 1.44%) |
207ms |
216ms |
| Req 4 - navto |
171ms (± 1.03%) |
171ms (± 0.75%) |
+0ms (+ 0.23%) |
168ms |
174ms |
| Req 5 - completionInfo count |
1,356 (± 0.00%) |
1,356 (± 0.00%) |
0 ( 0.00%) |
1,356 |
1,356 |
| Req 5 - completionInfo |
61ms (± 7.32%) |
59ms (± 5.22%) |
🟩-2ms (- 3.59%) |
56ms |
71ms |
| CompilerTSServer - node (v14.15.1, x64) |
| Req 1 - updateOpen |
1,580ms (± 0.58%) |
1,580ms (± 0.51%) |
-0ms (- 0.03%) |
1,566ms |
1,600ms |
| Req 2 - geterr |
2,225ms (± 0.53%) |
2,236ms (± 0.61%) |
+11ms (+ 0.51%) |
2,211ms |
2,266ms |
| Req 3 - references |
223ms (± 1.62%) |
222ms (± 0.95%) |
-1ms (- 0.54%) |
218ms |
227ms |
| Req 4 - navto |
180ms (± 0.69%) |
180ms (± 0.62%) |
-1ms (- 0.28%) |
177ms |
182ms |
| Req 5 - completionInfo count |
1,518 (± 0.00%) |
1,518 (± 0.00%) |
0 ( 0.00%) |
1,518 |
1,518 |
| Req 5 - completionInfo |
59ms (± 3.31%) |
59ms (± 5.96%) |
-0ms (- 0.17%) |
56ms |
73ms |
| xstateTSServer - node (v14.15.1, x64) |
| Req 1 - updateOpen |
1,997ms (± 0.40%) |
2,009ms (± 0.62%) |
+12ms (+ 0.60%) |
1,986ms |
2,039ms |
| Req 2 - geterr |
741ms (± 0.55%) |
745ms (± 0.29%) |
+4ms (+ 0.59%) |
740ms |
750ms |
| Req 3 - references |
73ms (± 0.96%) |
71ms (± 1.69%) |
-2ms (- 2.87%) |
69ms |
74ms |
| Req 4 - navto |
215ms (± 1.10%) |
216ms (± 0.58%) |
+1ms (+ 0.51%) |
214ms |
220ms |
| Req 5 - completionInfo count |
3,154 (± 0.00%) |
3,154 (± 0.00%) |
0 ( 0.00%) |
3,154 |
3,154 |
| Req 5 - completionInfo |
280ms (± 1.41%) |
274ms (± 1.83%) |
-6ms (- 2.18%) |
268ms |
289ms |
System
| Machine Name | ts-ci-ubuntu |
| Platform | linux 5.4.0-131-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
Hosts
- node (v18.10.0, x64)
- node (v16.17.1, x64)
- node (v14.15.1, x64)
Scenarios
- Compiler-UnionsTSServer - node (v18.10.0, x64)
- Compiler-UnionsTSServer - node (v16.17.1, x64)
- Compiler-UnionsTSServer - node (v14.15.1, x64)
- CompilerTSServer - node (v18.10.0, x64)
- CompilerTSServer - node (v16.17.1, x64)
- CompilerTSServer - node (v14.15.1, x64)
- xstateTSServer - node (v18.10.0, x64)
- xstateTSServer - node (v16.17.1, x64)
- xstateTSServer - node (v14.15.1, x64)
| Benchmark |
Name |
Iterations |
| Current |
51880 |
10 |
| Baseline |
main |
10 |
Startup
Comparison Report - main..51880
| Metric |
main |
51880 |
Delta |
Best |
Worst |
| tsc-startup - node (v16.17.1, x64) |
| Execution time |
118.09ms (± 0.39%) |
121.29ms (± 0.57%) |
+3.20ms (+ 2.71%) |
116.95ms |
130.87ms |
| tsserver-startup - node (v16.17.1, x64) |
| Execution time |
197.55ms (± 0.29%) |
204.95ms (± 0.35%) |
+7.40ms (+ 3.75%) |
197.57ms |
211.77ms |
| tsserverlibrary-startup - node (v16.17.1, x64) |
| Execution time |
192.19ms (± 0.31%) |
197.82ms (± 0.32%) |
+5.63ms (+ 2.93%) |
193.72ms |
206.88ms |
| typescript-startup - node (v16.17.1, x64) |
| Execution time |
177.63ms (± 0.32%) |
181.84ms (± 0.41%) |
+4.21ms (+ 2.37%) |
175.86ms |
193.60ms |
System
| Machine Name | ts-ci-ubuntu |
| Platform | linux 5.4.0-131-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
Scenarios
- tsc-startup - node (v16.17.1, x64)
- tsserver-startup - node (v16.17.1, x64)
- tsserverlibrary-startup - node (v16.17.1, x64)
- typescript-startup - node (v16.17.1, x64)
| Benchmark |
Name |
Iterations |
| Current |
51880 |
10 |
| Baseline |
main |
10 |
Developer Information:Download Benchmark
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
material-ui doesn't seem to be reporting any perf results
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
It seems we have a few unchecked casts to TransientSymbol that aren't sound, and we're just leveraging the fact that the resulting property access into SymbolLinks just returns undefined.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
If one of the results is zero, the compiler crashed somewhere. (I hit this back when I broke the parser but only in some cases.)
(We should make that more obvious, we just need to have it distinguish error codes somehow.)
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
In the same vein as #51682, this makes Symbol/TransientSymbol/MappedSymbol/ReverseMappedSymbol stable so that all symbol property access becomes monomorphic.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
If one of the results is zero, the compiler crashed somewhere. (I hit this back when I broke the parser but only in some cases.)
(We should make that more obvious, we just need to have it distinguish error codes somehow.)
Thats why I commented:
It seems we have a few unchecked casts to TransientSymbol
Even after I fixed the crash locally though I have a few failing tests for "infer from usage" code fixes that I have to run down.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Ah, I thought it was just unrelated commentary on the PR, oops.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Apparently, we also have unchecked casts to SymbolLinks from Symbol, making them hard to find because SymbolLinks is just full of optional properties.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Ron Buckton (@rbuckton)
The results of the perf run you requested are in!
Here they are:
Compiler
Comparison Report - main..51880
| Metric |
main |
51880 |
Delta |
Best |
Worst |
| Angular - node (v18.10.0, x64) |
| Memory used |
364,536k (± 0.02%) |
374,543k (± 0.01%) |
+10,007k (+ 2.75%) |
374,426k |
374,631k |
| Parse Time |
1.57s (± 0.87%) |
1.56s (± 1.09%) |
-0.01s (- 0.77%) |
1.52s |
1.61s |
| Bind Time |
0.55s (± 0.73%) |
0.53s (± 0.75%) |
🟩-0.02s (- 3.63%) |
0.52s |
0.54s |
| Check Time |
3.91s (± 0.48%) |
3.72s (± 0.70%) |
🟩-0.19s (- 4.81%) |
3.68s |
3.78s |
| Emit Time |
3.92s (± 0.95%) |
3.81s (± 0.61%) |
-0.11s (- 2.81%) |
3.77s |
3.87s |
| Total Time |
9.94s (± 0.50%) |
9.62s (± 0.43%) |
🟩-0.33s (- 3.29%) |
9.56s |
9.73s |
| Compiler-Unions - node (v18.10.0, x64) |
| Memory used |
199,671k (± 1.06%) |
202,920k (± 1.07%) |
+3,249k (+ 1.63%) |
199,840k |
205,884k |
| Parse Time |
0.62s (± 0.93%) |
0.62s (± 0.77%) |
-0.01s (- 0.96%) |
0.61s |
0.63s |
| Bind Time |
0.35s (± 1.69%) |
0.35s (± 0.85%) |
-0.01s (- 1.97%) |
0.34s |
0.35s |
| Check Time |
4.98s (± 0.87%) |
4.70s (± 0.80%) |
🟩-0.28s (- 5.62%) |
4.62s |
4.76s |
| Emit Time |
1.48s (± 1.04%) |
1.44s (± 0.85%) |
-0.04s (- 2.37%) |
1.42s |
1.46s |
| Total Time |
7.44s (± 0.63%) |
7.10s (± 0.55%) |
🟩-0.33s (- 4.46%) |
7.01s |
7.16s |
| Monaco - node (v18.10.0, x64) |
| Memory used |
347,230k (± 0.01%) |
356,326k (± 0.02%) |
+9,095k (+ 2.62%) |
356,090k |
356,468k |
| Parse Time |
1.18s (± 0.95%) |
1.17s (± 0.78%) |
-0.01s (- 0.85%) |
1.15s |
1.19s |
| Bind Time |
0.52s (± 1.16%) |
0.49s (± 1.06%) |
🟩-0.02s (- 4.66%) |
0.48s |
0.50s |
| Check Time |
3.68s (± 0.40%) |
3.48s (± 0.51%) |
🟩-0.20s (- 5.41%) |
3.44s |
3.51s |
| Emit Time |
2.06s (± 0.74%) |
2.03s (± 0.79%) |
-0.03s (- 1.41%) |
2.00s |
2.07s |
| Total Time |
7.42s (± 0.28%) |
7.16s (± 0.56%) |
🟩-0.26s (- 3.49%) |
7.10s |
7.26s |
| TFS - node (v18.10.0, x64) |
| Memory used |
305,790k (± 0.25%) |
313,486k (± 0.23%) |
+7,696k (+ 2.52%) |
312,557k |
314,767k |
| Parse Time |
0.96s (± 1.43%) |
0.95s (± 0.89%) |
-0.01s (- 1.15%) |
0.93s |
0.96s |
| Bind Time |
0.54s (± 7.53%) |
0.51s (± 8.79%) |
🟩-0.03s (- 5.56%) |
0.44s |
0.58s |
| Check Time |
3.39s (± 0.59%) |
3.21s (± 0.43%) |
🟩-0.18s (- 5.25%) |
3.19s |
3.26s |
| Emit Time |
2.02s (± 0.76%) |
1.99s (± 0.62%) |
-0.03s (- 1.58%) |
1.96s |
2.01s |
| Total Time |
6.91s (± 0.53%) |
6.67s (± 0.57%) |
🟩-0.25s (- 3.57%) |
6.61s |
6.74s |
| material-ui - node (v18.10.0, x64) |
| Memory used |
451,744k (± 0.02%) |
485,697k (± 0.01%) |
+33,954k (+ 7.52%) |
485,622k |
485,814k |
| Parse Time |
1.38s (± 0.94%) |
1.37s (± 1.25%) |
-0.01s (- 1.08%) |
1.34s |
1.43s |
| Bind Time |
0.41s (± 0.82%) |
0.39s (± 0.88%) |
🟩-0.03s (- 6.30%) |
0.38s |
0.39s |
| Check Time |
10.20s (± 0.78%) |
9.54s (± 0.45%) |
🟩-0.65s (- 6.41%) |
9.42s |
9.63s |
| Emit Time |
0.00s (± 0.00%) |
0.00s (± 0.00%) |
0.00s ( NaN%) |
0.00s |
0.00s |
| Total Time |
12.00s (± 0.75%) |
11.30s (± 0.44%) |
🟩-0.69s (- 5.78%) |
11.16s |
11.39s |
| xstate - node (v18.10.0, x64) |
| Memory used |
553,529k (± 0.01%) |
569,745k (± 0.01%) |
+16,217k (+ 2.93%) |
569,638k |
569,855k |
| Parse Time |
1.92s (± 0.59%) |
1.90s (± 0.36%) |
-0.03s (- 1.35%) |
1.88s |
1.91s |
| Bind Time |
0.72s (± 1.66%) |
0.69s (± 2.20%) |
🟩-0.03s (- 4.44%) |
0.66s |
0.73s |
| Check Time |
1.03s (± 0.97%) |
0.99s (± 0.71%) |
🟩-0.04s (- 3.51%) |
0.98s |
1.01s |
| Emit Time |
0.05s (± 0.00%) |
0.05s (± 0.00%) |
0.00s ( 0.00%) |
0.05s |
0.05s |
| Total Time |
3.73s (± 0.50%) |
3.63s (± 0.43%) |
-0.09s (- 2.47%) |
3.61s |
3.67s |
| Angular - node (v16.17.1, x64) |
| Memory used |
363,888k (± 0.02%) |
373,807k (± 0.01%) |
+9,919k (+ 2.73%) |
373,650k |
373,858k |
| Parse Time |
1.93s (± 0.39%) |
1.90s (± 0.50%) |
-0.03s (- 1.61%) |
1.88s |
1.92s |
| Bind Time |
0.67s (± 0.77%) |
0.64s (± 0.73%) |
🟩-0.03s (- 4.62%) |
0.63s |
0.65s |
| Check Time |
5.03s (± 0.62%) |
4.81s (± 0.89%) |
🟩-0.22s (- 4.47%) |
4.70s |
4.88s |
| Emit Time |
4.71s (± 0.83%) |
4.55s (± 0.90%) |
🟩-0.16s (- 3.48%) |
4.47s |
4.62s |
| Total Time |
12.33s (± 0.52%) |
11.89s (± 0.45%) |
🟩-0.45s (- 3.62%) |
11.79s |
12.03s |
| Compiler-Unions - node (v16.17.1, x64) |
| Memory used |
200,231k (± 0.63%) |
203,082k (± 0.61%) |
+2,851k (+ 1.42%) |
201,594k |
205,313k |
| Parse Time |
0.80s (± 0.83%) |
0.79s (± 0.82%) |
-0.01s (- 1.37%) |
0.78s |
0.81s |
| Bind Time |
0.45s (± 0.82%) |
0.43s (± 0.79%) |
-0.01s (- 2.91%) |
0.43s |
0.44s |
| Check Time |
5.92s (± 0.58%) |
5.62s (± 0.75%) |
🟩-0.31s (- 5.23%) |
5.51s |
5.71s |
| Emit Time |
1.80s (± 0.95%) |
1.78s (± 0.92%) |
-0.02s (- 1.28%) |
1.73s |
1.81s |
| Total Time |
8.98s (± 0.46%) |
8.62s (± 0.61%) |
🟩-0.36s (- 4.01%) |
8.48s |
8.73s |
| Monaco - node (v16.17.1, x64) |
| Memory used |
346,594k (± 0.01%) |
355,651k (± 0.02%) |
+9,057k (+ 2.61%) |
355,509k |
355,777k |
| Parse Time |
1.43s (± 0.93%) |
1.43s (± 0.77%) |
-0.01s (- 0.42%) |
1.40s |
1.45s |
| Bind Time |
0.61s (± 0.66%) |
0.59s (± 0.62%) |
-0.01s (- 2.30%) |
0.59s |
0.60s |
| Check Time |
4.64s (± 0.60%) |
4.39s (± 0.78%) |
🟩-0.25s (- 5.41%) |
4.32s |
4.47s |
| Emit Time |
2.48s (± 0.82%) |
2.44s (± 1.01%) |
-0.04s (- 1.57%) |
2.40s |
2.50s |
| Total Time |
9.16s (± 0.52%) |
8.85s (± 0.71%) |
🟩-0.31s (- 3.39%) |
8.75s |
9.00s |
| TFS - node (v16.17.1, x64) |
| Memory used |
304,277k (± 0.02%) |
312,125k (± 0.03%) |
+7,849k (+ 2.58%) |
312,057k |
312,439k |
| Parse Time |
1.19s (± 1.08%) |
1.17s (± 1.65%) |
-0.02s (- 1.43%) |
1.14s |
1.23s |
| Bind Time |
0.58s (± 0.90%) |
0.57s (± 1.28%) |
-0.01s (- 1.90%) |
0.55s |
0.58s |
| Check Time |
4.33s (± 0.45%) |
4.11s (± 0.41%) |
🟩-0.22s (- 5.10%) |
4.07s |
4.15s |
| Emit Time |
2.49s (± 1.42%) |
2.47s (± 0.90%) |
-0.02s (- 0.96%) |
2.42s |
2.51s |
| Total Time |
8.60s (± 0.57%) |
8.32s (± 0.51%) |
🟩-0.27s (- 3.20%) |
8.23s |
8.43s |
| material-ui - node (v16.17.1, x64) |
| Memory used |
451,155k (± 0.02%) |
484,996k (± 0.01%) |
+33,841k (+ 7.50%) |
484,955k |
485,087k |
| Parse Time |
1.68s (± 0.59%) |
1.66s (± 0.56%) |
-0.02s (- 1.31%) |
1.64s |
1.67s |
| Bind Time |
0.50s (± 0.68%) |
0.48s (± 0.71%) |
🟩-0.03s (- 5.17%) |
0.47s |
0.48s |
| Check Time |
11.59s (± 0.63%) |
10.98s (± 0.66%) |
🟩-0.60s (- 5.18%) |
10.89s |
11.23s |
| Emit Time |
0.00s (± 0.00%) |
0.00s (± 0.00%) |
0.00s ( NaN%) |
0.00s |
0.00s |
| Total Time |
13.77s (± 0.50%) |
13.12s (± 0.59%) |
🟩-0.65s (- 4.72%) |
13.03s |
13.38s |
| xstate - node (v16.17.1, x64) |
| Memory used |
551,127k (± 0.01%) |
567,387k (± 0.01%) |
+16,260k (+ 2.95%) |
567,268k |
567,564k |
| Parse Time |
2.31s (± 0.28%) |
2.29s (± 0.53%) |
-0.02s (- 0.78%) |
2.28s |
2.34s |
| Bind Time |
0.85s (± 2.72%) |
0.83s (± 2.19%) |
-0.02s (- 2.24%) |
0.79s |
0.87s |
| Check Time |
1.35s (± 0.69%) |
1.31s (± 0.57%) |
-0.03s (- 2.60%) |
1.30s |
1.33s |
| Emit Time |
0.06s (± 0.00%) |
0.06s (± 0.00%) |
0.00s ( 0.00%) |
0.06s |
0.06s |
| Total Time |
4.57s (± 0.52%) |
4.51s (± 0.55%) |
-0.07s (- 1.44%) |
4.45s |
4.55s |
| Angular - node (v14.15.1, x64) |
| Memory used |
357,638k (± 0.01%) |
367,560k (± 0.00%) |
+9,922k (+ 2.77%) |
367,530k |
367,582k |
| Parse Time |
2.05s (± 0.41%) |
2.03s (± 0.29%) |
-0.02s (- 0.78%) |
2.02s |
2.04s |
| Bind Time |
0.71s (± 0.70%) |
0.69s (± 0.32%) |
🟩-0.02s (- 3.36%) |
0.69s |
0.70s |
| Check Time |
5.36s (± 0.55%) |
5.13s (± 0.45%) |
🟩-0.22s (- 4.16%) |
5.07s |
5.17s |
| Emit Time |
4.82s (± 0.96%) |
4.68s (± 0.62%) |
-0.14s (- 2.82%) |
4.63s |
4.76s |
| Total Time |
12.94s (± 0.43%) |
12.54s (± 0.41%) |
🟩-0.40s (- 3.08%) |
12.43s |
12.67s |
| Compiler-Unions - node (v14.15.1, x64) |
| Memory used |
196,259k (± 0.52%) |
199,142k (± 0.57%) |
+2,883k (+ 1.47%) |
196,787k |
200,283k |
| Parse Time |
0.91s (± 0.80%) |
0.90s (± 0.50%) |
-0.01s (- 1.10%) |
0.89s |
0.91s |
| Bind Time |
0.48s (± 0.76%) |
0.47s (± 0.78%) |
-0.01s (- 2.10%) |
0.46s |
0.47s |
| Check Time |
6.15s (± 0.48%) |
5.87s (± 0.55%) |
🟩-0.28s (- 4.57%) |
5.79s |
5.96s |
| Emit Time |
1.92s (± 0.60%) |
1.89s (± 1.11%) |
-0.04s (- 1.92%) |
1.86s |
1.94s |
| Total Time |
9.46s (± 0.28%) |
9.12s (± 0.37%) |
🟩-0.34s (- 3.60%) |
9.03s |
9.20s |
| Monaco - node (v14.15.1, x64) |
| Memory used |
341,571k (± 0.01%) |
350,687k (± 0.01%) |
+9,117k (+ 2.67%) |
350,613k |
350,779k |
| Parse Time |
1.58s (± 0.48%) |
1.57s (± 0.59%) |
-0.02s (- 1.01%) |
1.55s |
1.59s |
| Bind Time |
0.65s (± 0.72%) |
0.63s (± 0.88%) |
-0.02s (- 2.77%) |
0.62s |
0.65s |
| Check Time |
4.94s (± 0.44%) |
4.68s (± 0.69%) |
🟩-0.26s (- 5.28%) |
4.61s |
4.75s |
| Emit Time |
2.59s (± 1.01%) |
2.57s (± 0.84%) |
-0.02s (- 0.89%) |
2.52s |
2.62s |
| Total Time |
9.76s (± 0.42%) |
9.45s (± 0.43%) |
🟩-0.31s (- 3.22%) |
9.39s |
9.55s |
| TFS - node (v14.15.1, x64) |
| Memory used |
301,370k (± 0.00%) |
309,172k (± 0.01%) |
+7,802k (+ 2.59%) |
309,116k |
309,213k |
| Parse Time |
1.33s (± 0.94%) |
1.32s (± 0.98%) |
-0.01s (- 0.68%) |
1.29s |
1.35s |
| Bind Time |
0.60s (± 0.60%) |
0.59s (± 0.61%) |
-0.01s (- 1.66%) |
0.59s |
0.60s |
| Check Time |
4.61s (± 0.48%) |
4.35s (± 0.53%) |
🟩-0.26s (- 5.64%) |
4.29s |
4.40s |
| Emit Time |
2.77s (± 0.63%) |
2.74s (± 0.33%) |
-0.03s (- 1.26%) |
2.72s |
2.75s |
| Total Time |
9.31s (± 0.41%) |
9.00s (± 0.32%) |
🟩-0.31s (- 3.37%) |
8.93s |
9.05s |
| material-ui - node (v14.15.1, x64) |
| Memory used |
446,780k (± 0.01%) |
480,418k (± 0.01%) |
+33,638k (+ 7.53%) |
480,327k |
480,483k |
| Parse Time |
1.88s (± 0.55%) |
1.87s (± 0.60%) |
-0.01s (- 0.69%) |
1.84s |
1.90s |
| Bind Time |
0.54s (± 1.07%) |
0.52s (± 0.43%) |
🟩-0.02s (- 4.05%) |
0.52s |
0.53s |
| Check Time |
11.98s (± 0.62%) |
11.47s (± 0.50%) |
🟩-0.51s (- 4.27%) |
11.34s |
11.61s |
| Emit Time |
0.00s (± 0.00%) |
0.00s (± 0.00%) |
0.00s ( NaN%) |
0.00s |
0.00s |
| Total Time |
14.41s (± 0.51%) |
13.86s (± 0.46%) |
🟩-0.54s (- 3.76%) |
13.73s |
14.03s |
| xstate - node (v14.15.1, x64) |
| Memory used |
539,770k (± 0.01%) |
555,920k (± 0.01%) |
+16,150k (+ 2.99%) |
555,722k |
556,084k |
| Parse Time |
2.64s (± 0.56%) |
2.62s (± 0.56%) |
-0.02s (- 0.83%) |
2.60s |
2.67s |
| Bind Time |
0.82s (± 0.41%) |
0.78s (± 0.29%) |
🟩-0.04s (- 5.10%) |
0.78s |
0.79s |
| Check Time |
1.44s (± 0.70%) |
1.43s (± 0.62%) |
-0.02s (- 1.18%) |
1.40s |
1.44s |
| Emit Time |
0.07s (± 0.00%) |
0.07s (± 0.00%) |
0.00s ( 0.00%) |
0.07s |
0.07s |
| Total Time |
4.99s (± 0.38%) |
4.91s (± 0.35%) |
-0.08s (- 1.62%) |
4.88s |
4.95s |
System
| Machine Name | ts-ci-ubuntu |
| Platform | linux 5.4.0-131-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
Hosts
- node (v18.10.0, x64)
- node (v16.17.1, x64)
- node (v14.15.1, x64)
Scenarios
- Angular - node (v18.10.0, x64)
- Angular - node (v16.17.1, x64)
- Angular - node (v14.15.1, x64)
- Compiler-Unions - node (v18.10.0, x64)
- Compiler-Unions - node (v16.17.1, x64)
- Compiler-Unions - node (v14.15.1, x64)
- Monaco - node (v18.10.0, x64)
- Monaco - node (v16.17.1, x64)
- Monaco - node (v14.15.1, x64)
- TFS - node (v18.10.0, x64)
- TFS - node (v16.17.1, x64)
- TFS - node (v14.15.1, x64)
- material-ui - node (v18.10.0, x64)
- material-ui - node (v16.17.1, x64)
- material-ui - node (v14.15.1, x64)
- xstate - node (v18.10.0, x64)
- xstate - node (v16.17.1, x64)
- xstate - node (v14.15.1, x64)
| Benchmark |
Name |
Iterations |
| Current |
51880 |
10 |
| Baseline |
main |
10 |
TSServer
Comparison Report - main..51880
| Metric |
main |
51880 |
Delta |
Best |
Worst |
| Compiler-UnionsTSServer - node (v18.10.0, x64) |
| Req 1 - updateOpen |
1,073ms (± 0.72%) |
1,063ms (± 0.79%) |
-10ms (- 0.94%) |
1,046ms |
1,090ms |
| Req 2 - geterr |
2,592ms (± 0.79%) |
2,511ms (± 0.72%) |
🟩-81ms (- 3.12%) |
2,490ms |
2,566ms |
| Req 3 - references |
167ms (± 0.85%) |
164ms (± 1.08%) |
-2ms (- 1.44%) |
161ms |
170ms |
| Req 4 - navto |
144ms (± 1.24%) |
142ms (± 1.41%) |
-3ms (- 1.94%) |
139ms |
148ms |
| Req 5 - completionInfo count |
1,356 (± 0.00%) |
1,356 (± 0.00%) |
0 ( 0.00%) |
1,356 |
1,356 |
| Req 5 - completionInfo |
56ms (± 7.73%) |
55ms (± 7.97%) |
-1ms (- 2.15%) |
48ms |
62ms |
| CompilerTSServer - node (v18.10.0, x64) |
| Req 1 - updateOpen |
1,148ms (± 0.69%) |
1,136ms (± 0.39%) |
-12ms (- 1.04%) |
1,128ms |
1,147ms |
| Req 2 - geterr |
1,575ms (± 0.64%) |
1,561ms (± 0.59%) |
-14ms (- 0.87%) |
1,546ms |
1,585ms |
| Req 3 - references |
175ms (± 0.95%) |
172ms (± 0.93%) |
-3ms (- 1.94%) |
169ms |
176ms |
| Req 4 - navto |
153ms (± 0.67%) |
152ms (± 0.63%) |
-2ms (- 1.05%) |
149ms |
153ms |
| Req 5 - completionInfo count |
1,518 (± 0.00%) |
1,518 (± 0.00%) |
0 ( 0.00%) |
1,518 |
1,518 |
| Req 5 - completionInfo |
53ms (± 1.71%) |
52ms (± 1.11%) |
-1ms (- 1.51%) |
51ms |
54ms |
| xstateTSServer - node (v18.10.0, x64) |
| Req 1 - updateOpen |
1,554ms (± 1.08%) |
1,545ms (± 1.05%) |
-8ms (- 0.53%) |
1,517ms |
1,591ms |
| Req 2 - geterr |
548ms (± 1.33%) |
544ms (± 1.31%) |
-3ms (- 0.57%) |
532ms |
561ms |
| Req 3 - references |
57ms (± 1.68%) |
58ms (± 2.92%) |
+1ms (+ 2.47%) |
54ms |
62ms |
| Req 4 - navto |
196ms (± 1.20%) |
193ms (± 0.62%) |
-3ms (- 1.63%) |
190ms |
196ms |
| Req 5 - completionInfo count |
3,154 (± 0.00%) |
3,154 (± 0.00%) |
0 ( 0.00%) |
3,154 |
3,154 |
| Req 5 - completionInfo |
219ms (± 1.08%) |
211ms (± 1.23%) |
🟩-8ms (- 3.52%) |
205ms |
217ms |
| Compiler-UnionsTSServer - node (v16.17.1, x64) |
| Req 1 - updateOpen |
1,334ms (± 0.52%) |
1,320ms (± 0.38%) |
-14ms (- 1.02%) |
1,309ms |
1,329ms |
| Req 2 - geterr |
3,186ms (± 0.45%) |
3,096ms (± 0.86%) |
-90ms (- 2.83%) |
3,057ms |
3,163ms |
| Req 3 - references |
196ms (± 0.54%) |
192ms (± 0.82%) |
-4ms (- 1.94%) |
190ms |
197ms |
| Req 4 - navto |
156ms (± 1.23%) |
155ms (± 0.90%) |
-1ms (- 0.64%) |
152ms |
158ms |
| Req 5 - completionInfo count |
1,356 (± 0.00%) |
1,356 (± 0.00%) |
0 ( 0.00%) |
1,356 |
1,356 |
| Req 5 - completionInfo |
58ms (± 2.08%) |
57ms (± 1.66%) |
-0ms (- 0.52%) |
56ms |
60ms |
| CompilerTSServer - node (v16.17.1, x64) |
| Req 1 - updateOpen |
1,421ms (± 0.76%) |
1,402ms (± 0.59%) |
-19ms (- 1.35%) |
1,384ms |
1,424ms |
| Req 2 - geterr |
2,074ms (± 0.73%) |
2,072ms (± 0.60%) |
-2ms (- 0.08%) |
2,060ms |
2,121ms |
| Req 3 - references |
203ms (± 0.28%) |
200ms (± 0.40%) |
-3ms (- 1.58%) |
198ms |
202ms |
| Req 4 - navto |
167ms (± 0.90%) |
166ms (± 1.02%) |
-1ms (- 0.42%) |
163ms |
171ms |
| Req 5 - completionInfo count |
1,518 (± 0.00%) |
1,518 (± 0.00%) |
0 ( 0.00%) |
1,518 |
1,518 |
| Req 5 - completionInfo |
57ms (± 0.84%) |
56ms (± 1.07%) |
-1ms (- 1.94%) |
55ms |
57ms |
| xstateTSServer - node (v16.17.1, x64) |
| Req 1 - updateOpen |
1,871ms (± 0.82%) |
1,845ms (± 0.44%) |
-26ms (- 1.41%) |
1,827ms |
1,867ms |
| Req 2 - geterr |
698ms (± 0.59%) |
686ms (± 0.79%) |
-12ms (- 1.69%) |
674ms |
703ms |
| Req 3 - references |
67ms (± 1.44%) |
67ms (± 1.77%) |
+0ms (+ 0.45%) |
65ms |
70ms |
| Req 4 - navto |
197ms (± 0.77%) |
191ms (± 1.19%) |
🟩-6ms (- 3.20%) |
186ms |
197ms |
| Req 5 - completionInfo count |
3,154 (± 0.00%) |
3,154 (± 0.00%) |
0 ( 0.00%) |
3,154 |
3,154 |
| Req 5 - completionInfo |
258ms (± 0.84%) |
254ms (± 1.31%) |
-4ms (- 1.51%) |
247ms |
263ms |
| Compiler-UnionsTSServer - node (v14.15.1, x64) |
| Req 1 - updateOpen |
1,478ms (± 0.74%) |
1,474ms (± 0.66%) |
-4ms (- 0.25%) |
1,453ms |
1,501ms |
| Req 2 - geterr |
3,379ms (± 0.83%) |
3,286ms (± 0.48%) |
-93ms (- 2.76%) |
3,257ms |
3,329ms |
| Req 3 - references |
210ms (± 0.68%) |
207ms (± 0.64%) |
-3ms (- 1.19%) |
205ms |
211ms |
| Req 4 - navto |
171ms (± 1.05%) |
169ms (± 0.87%) |
-2ms (- 1.28%) |
167ms |
174ms |
| Req 5 - completionInfo count |
1,356 (± 0.00%) |
1,356 (± 0.00%) |
0 ( 0.00%) |
1,356 |
1,356 |
| Req 5 - completionInfo |
59ms (± 0.99%) |
58ms (± 1.44%) |
-1ms (- 1.87%) |
56ms |
60ms |
| CompilerTSServer - node (v14.15.1, x64) |
| Req 1 - updateOpen |
1,583ms (± 0.48%) |
1,569ms (± 0.27%) |
-14ms (- 0.88%) |
1,556ms |
1,577ms |
| Req 2 - geterr |
2,231ms (± 0.55%) |
2,230ms (± 0.49%) |
-1ms (- 0.04%) |
2,212ms |
2,265ms |
| Req 3 - references |
222ms (± 0.95%) |
220ms (± 1.16%) |
-2ms (- 0.77%) |
216ms |
224ms |
| Req 4 - navto |
179ms (± 0.85%) |
178ms (± 0.93%) |
-1ms (- 0.61%) |
173ms |
182ms |
| Req 5 - completionInfo count |
1,518 (± 0.00%) |
1,518 (± 0.00%) |
0 ( 0.00%) |
1,518 |
1,518 |
| Req 5 - completionInfo |
61ms (± 3.43%) |
58ms (± 1.98%) |
🟩-3ms (- 4.27%) |
56ms |
61ms |
| xstateTSServer - node (v14.15.1, x64) |
| Req 1 - updateOpen |
2,013ms (± 0.88%) |
1,994ms (± 0.72%) |
-19ms (- 0.95%) |
1,971ms |
2,034ms |
| Req 2 - geterr |
744ms (± 0.54%) |
744ms (± 0.42%) |
-0ms (- 0.04%) |
738ms |
753ms |
| Req 3 - references |
71ms (± 1.33%) |
74ms (± 0.83%) |
+3ms (+ 3.78%) |
73ms |
76ms |
| Req 4 - navto |
218ms (± 0.80%) |
215ms (± 0.68%) |
-4ms (- 1.60%) |
210ms |
217ms |
| Req 5 - completionInfo count |
3,154 (± 0.00%) |
3,154 (± 0.00%) |
0 ( 0.00%) |
3,154 |
3,154 |
| Req 5 - completionInfo |
274ms (± 0.47%) |
284ms (± 1.01%) |
+10ms (+ 3.65%) |
277ms |
291ms |
System
| Machine Name | ts-ci-ubuntu |
| Platform | linux 5.4.0-131-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
Hosts
- node (v18.10.0, x64)
- node (v16.17.1, x64)
- node (v14.15.1, x64)
Scenarios
- Compiler-UnionsTSServer - node (v18.10.0, x64)
- Compiler-UnionsTSServer - node (v16.17.1, x64)
- Compiler-UnionsTSServer - node (v14.15.1, x64)
- CompilerTSServer - node (v18.10.0, x64)
- CompilerTSServer - node (v16.17.1, x64)
- CompilerTSServer - node (v14.15.1, x64)
- xstateTSServer - node (v18.10.0, x64)
- xstateTSServer - node (v16.17.1, x64)
- xstateTSServer - node (v14.15.1, x64)
| Benchmark |
Name |
Iterations |
| Current |
51880 |
10 |
| Baseline |
main |
10 |
Startup
Comparison Report - main..51880
| Metric |
main |
51880 |
Delta |
Best |
Worst |
| tsc-startup - node (v16.17.1, x64) |
| Execution time |
118.28ms (± 0.38%) |
119.87ms (± 0.57%) |
+1.58ms (+ 1.34%) |
116.44ms |
129.77ms |
| tsserver-startup - node (v16.17.1, x64) |
| Execution time |
198.89ms (± 0.29%) |
199.87ms (± 0.42%) |
+0.98ms (+ 0.49%) |
195.43ms |
208.11ms |
| tsserverlibrary-startup - node (v16.17.1, x64) |
| Execution time |
193.07ms (± 0.28%) |
194.64ms (± 0.43%) |
+1.57ms (+ 0.81%) |
189.91ms |
202.46ms |
| typescript-startup - node (v16.17.1, x64) |
| Execution time |
178.55ms (± 0.32%) |
179.63ms (± 0.43%) |
+1.08ms (+ 0.60%) |
175.76ms |
190.01ms |
System
| Machine Name | ts-ci-ubuntu |
| Platform | linux 5.4.0-131-generic |
| Architecture | x64 |
| Available Memory | 16 GB |
| Available Memory | 15 GB |
| CPUs | 4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz |
Scenarios
- tsc-startup - node (v16.17.1, x64)
- tsserver-startup - node (v16.17.1, x64)
- tsserverlibrary-startup - node (v16.17.1, x64)
- typescript-startup - node (v16.17.1, x64)
| Benchmark |
Name |
Iterations |
| Current |
51880 |
10 |
| Baseline |
main |
10 |
Developer Information:Download Benchmark
|
jakebailey reacted with hooray emoji
andrewbranch reacted with heart emoji
All reactions
-
🎉
1 reaction
-
❤️
1 reaction
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
|
|
|
|
/** @internal */
|
|
|
export interface SymbolLinks {
|
|
|
_symbolLinksBrand: any;
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added this primarily to catch an unconditional cast to SymbolLinks from Symbol and decided to leave it in to prevent that from happening in the future.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
|
|
|
|
function SymbolLinks(this: SymbolLinks) {
|
|
|
}
|
|
|
const SymbolLinks = class implements SymbolLinks {
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does using a class mean instances of SymbolLinks will share the same hidden class even if different properties are attached in different orders? If not, how bad is the memory impact of initializing all the possible properties to undefined? (I assume awful because there are so many.) Did you test the class implementation against an object literal implementation?
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, what’s the reason for using a class expression here?
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder how many more of those kinds of things we have that could be switched.
(Those links don't seem to work, but the example is enough to convince me, personally.)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They don't work because checker isn't expanded by default, you have to expand it manually.

Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn’t realize we were using a constructor function before. The crux of my question is really, is there a reason why it’s not function createSymbolLinks(): SymbolLinks { return {}; }, and do we know what the difference in performance characteristics between the two is.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does using a class mean instances of SymbolLinks will share the same hidden class even if different properties are attached in different orders?
No, whether you are using a class or function has no bearing at the moment because the actual emit from esbuild is a class with no fields. Native classes with native fields would ensure all properties are defined ahead of time, which would help but we can't leverage that currently.
If not, how bad is the memory impact of initializing all the possible properties to undefined? (I assume awful because there are so many.)
You're essentially adding the space for a heap pointer (roughly 8 bytes) for each property, per object. The best way to reduce that cost is to cut back on what we actually need to store on the object, either through the introduction of bitflags to condense booleans, putting lesser used properties in their own objects, or not storing anything that can be trivially recomputed.
Did you test the class implementation against an object literal implementation?
Not for this specifically, but in general I have yes. There's no real difference in storage, but object literals are far harder to isolate when looking at memory snapshots or v8 traces since they all have Object as their constructor.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(roughly 8 bytes) for each property
This isn't entirely accurate. IIRC, every object in V8 has an initial structure that is fixed in size and can hold a small number of properties directly. Additional properties beyond that limit are stored elsewhere on the heap. This means every object allocation has a minimum size that accounts for some of the properties.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn’t realize we were using a constructor function before. The crux of my question is really, is there a reason why it’s not function createSymbolLinks(): SymbolLinks { return {}; }, and do we know what the difference in performance characteristics between the two is.
All object literals share the same constructor so they show up as Object in the debugger, in memory snapshots, and in the v8 trace logs, which make them impossible to differentiate from one another. We should really try to use object literals only for throw-away things like options bags for functions, or destructuring results. Using a class for objects with a longer lifetime is preferred, even if we're just using it as a tag, i.e.:
function createFlowNode() {
return {} as FlowNode; // bad for debugging/snapshots/tracing
}
// vs
function createFlowNode() {
return new FlowNode() as FlowNode; // better for debugging/snapshots/tracing,
// but pretty much the same as {} otherwise
}
// minimum needed to tag the object for diagnostic tooling, though it would be better
// if the object has a stable set of properties we can pre-allocate:
const FlowNode = class FlowNode {};
The only downside to this approach is that you end up with a unique starting "map" for each tag (since it points to a different constructor/prototype)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
IDisposable reacted with heart emoji
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For example, there are 215 different V8 maps for Object here that I have no insight into without drilling into each one, vs the other constructors in this list:

Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
ExE-Boss reacted with thumbs up emoji
|
Partially related, but the force pushing is making it a little hard to view the changes as they come in; since we squash on merge, is the force pushing required for all of the updates?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Partially related, but the force pushing is making it a little hard to view the changes as they come in; since we squash on merge, is the force pushing required for all of the updates?
Maybe not, but I generally try to keep related changes isolated to a single commit, and rebase against main when possible because it makes it easier to walk around through local commit history if I am working on a feature requiring multiple independent changes. This is especially the case with these perf related PRs because I'm often walking back and forth through local commit history to compare v8 trace logs looking for specific differences.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code looks good to me, but I ran all of the different suites in case there's another crash lurking.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Comment on lines
+349
to
+350
|
|
HasDecorators,
|
|
|
hasDecorators,
|
|
|
HasDecorators,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is some tool doing this? If this is changed, is it likely for this to get flipped back again?
(I am hoping this is moot as of tomorrow-ish, when the next VS Code TS nightly is available with the fix in, and or when we can restore the ordering to be sensitive on main.)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did "Sort lines ascending" because auto-imports stuck a few things at the bottom, and organize imports wouldn't fix it.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Jake Bailey (@jakebailey) Here are the results of running the user test suite comparing main and refs/pull/51880/merge:
Everything looks good!
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
1 similar comment
|
Jake Bailey (@jakebailey) Here are the results of running the user test suite comparing main and refs/pull/51880/merge:
Everything looks good!
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Jake Bailey (@jakebailey) Here are the results of running the top-repos suite comparing main and refs/pull/51880/merge:
Everything looks good!
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Jake Bailey (@jakebailey) Here are the results of running the top-repos suite comparing main and refs/pull/51880/merge:
Something interesting changed - please have a look.
Details
⚠️ Note that built also had errors ⚠️
Req #1149 - references
at formatMessage2 (/typescript-main/built/local/tsserver.js:159184:21)
at IOSession.writeMessage (/typescript-main/built/local/tsserver.js:160191:21)
at IOSession.send (/typescript-main/built/local/tsserver.js:160188:10)
at IOSession.doOutput (/typescript-main/built/local/tsserver.js:160235:10)
at IOSession.onMessage (/typescript-main/built/local/tsserver.js:161846:14)
at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:163232:14)
Req #1149 - references
at formatMessage2 (/typescript-51880/built/local/tsserver.js:159200:21)
at IOSession.writeMessage (/typescript-51880/built/local/tsserver.js:160207:21)
at IOSession.send (/typescript-51880/built/local/tsserver.js:160204:10)
at IOSession.doOutput (/typescript-51880/built/local/tsserver.js:160251:10)
at IOSession.onMessage (/typescript-51880/built/local/tsserver.js:161862:14)
at Interface.<anonymous> (/typescript-51880/built/local/tsserver.js:163248:14)
That is a filtered view of the text. To see the raw error text, go to RepoResults4/felixrieseberg.windows95.rawError.txt in the artifact folder
Last few requests
{"seq":1146,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":351847,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":1147,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":351847,"entryNames":["_"]}}
{"seq":1148,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":352407}}
{"seq":1149,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/src/renderer/lib/_libwabt.js","line":13,"offset":352852}}
Repro Steps
git clone https://github.com/felixrieseberg/windows95 --recurse-submodules
- In dir
windows95, run git reset --hard 17a81393467e2668eb2eea291ab4b6a749756dad
- In dir
windows95, run yarn install --ignore-engines --ignore-scripts --silent
- Back in the initial folder, download
RepoResults4/felixrieseberg.windows95.replay.txt from the artifact folder
npm install --no-save @typescript/server-replay
npx tsreplay ./windows95 ./felixrieseberg.windows95.replay.txt path/to/tsserver.js
npx tsreplay --help to learn about helpful switches for debugging, logging, etc
⚠️ Note that built also had errors ⚠️
Req #16168 - references
at formatMessage2 (/typescript-main/built/local/tsserver.js:159184:21)
at IOSession.writeMessage (/typescript-main/built/local/tsserver.js:160191:21)
at IOSession.send (/typescript-main/built/local/tsserver.js:160188:10)
at IOSession.doOutput (/typescript-main/built/local/tsserver.js:160235:10)
at IOSession.onMessage (/typescript-main/built/local/tsserver.js:161846:14)
at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:163232:14)
Req #16168 - references
at formatMessage2 (/typescript-51880/built/local/tsserver.js:159200:21)
at IOSession.writeMessage (/typescript-51880/built/local/tsserver.js:160207:21)
at IOSession.send (/typescript-51880/built/local/tsserver.js:160204:10)
at IOSession.doOutput (/typescript-51880/built/local/tsserver.js:160251:10)
at IOSession.onMessage (/typescript-51880/built/local/tsserver.js:161862:14)
at Interface.<anonymous> (/typescript-51880/built/local/tsserver.js:163248:14)
That is a filtered view of the text. To see the raw error text, go to RepoResults4/palantir.blueprint.rawError.txt in the artifact folder
Last few requests
{"seq":16165,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":2095038,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":16166,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":2095038,"entryNames":["arguments"]}}
{"seq":16167,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":2096623,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":16168,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/1/docs-app.js","line":1,"offset":2096978}}
Repro Steps
git clone https://github.com/palantir/blueprint --recurse-submodules
- In dir
blueprint, run git reset --hard b6c1518ea2f524accfba8045ce6f22cac7c5b56e
- In dir
blueprint, run yarn install --ignore-engines --ignore-scripts --silent
- Back in the initial folder, download
RepoResults4/palantir.blueprint.replay.txt from the artifact folder
npm install --no-save @typescript/server-replay
npx tsreplay ./blueprint ./palantir.blueprint.replay.txt path/to/tsserver.js
npx tsreplay --help to learn about helpful switches for debugging, logging, etc
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Those ones are all broken on main too, so nothing new there.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|