Skip to content

Exclude comparable relation from literal type relation optimization - #53419

Merged
Anders Hejlsberg (ahejlsberg) merged 3 commits into
mainfrom
fix53400
Mar 23, 2023
Merged

Exclude comparable relation from literal type relation optimization#53419
Anders Hejlsberg (ahejlsberg) merged 3 commits into
mainfrom
fix53400

Conversation

@ahejlsberg

Copy link
Copy Markdown
Member

Fixes #53400.

@DanielRosenwasser

Copy link
Copy Markdown
Member

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

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 21, 2023

Copy link
Copy Markdown
Contributor

Heya Daniel Rosenwasser (@DanielRosenwasser), I've started to run the abridged perf test suite on this PR at 4c7eb83. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Daniel Rosenwasser (@DanielRosenwasser)
The results of the perf run you requested are in!

Here they are:

Comparison Report - main..53419

Metric main 53419 Delta Best Worst p-value
Angular - node (v16.17.1, x64)
Memory used 361,406k (± 0.01%) 361,425k (± 0.01%) ~ 361,387k 361,473k p=0.336 n=6
Parse Time 3.54s (± 0.92%) 3.52s (± 0.84%) ~ 3.48s 3.57s p=1.000 n=6
Bind Time 1.18s (± 0.69%) 1.18s (± 0.46%) ~ 1.18s 1.19s p=0.859 n=6
Check Time 9.54s (± 0.64%) 9.53s (± 0.34%) ~ 9.49s 9.58s p=0.748 n=6
Emit Time 7.94s (± 0.52%) 7.93s (± 0.35%) ~ 7.90s 7.97s p=0.624 n=6
Total Time 22.20s (± 0.53%) 22.17s (± 0.16%) ~ 22.11s 22.21s p=0.575 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,117k (± 0.72%) 193,148k (± 0.74%) ~ 192,439k 196,066k p=0.689 n=6
Parse Time 1.59s (± 1.15%) 1.60s (± 0.47%) ~ 1.59s 1.61s p=0.453 n=6
Bind Time 0.83s (± 0.62%) 0.82s (± 0.50%) -0.01s (- 1.01%) 0.81s 0.82s p=0.022 n=6
Check Time 10.23s (± 0.61%) 10.14s (± 0.52%) -0.09s (- 0.88%) 10.06s 10.22s p=0.029 n=6
Emit Time 3.03s (± 1.29%) 3.00s (± 1.13%) ~ 2.97s 3.06s p=0.064 n=6
Total Time 15.68s (± 0.44%) 15.55s (± 0.44%) -0.13s (- 0.81%) 15.45s 15.63s p=0.016 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,571k (± 0.01%) 345,557k (± 0.01%) ~ 345,524k 345,585k p=0.471 n=6
Parse Time 2.75s (± 0.93%) 2.72s (± 0.36%) -0.03s (- 1.09%) 2.71s 2.73s p=0.022 n=6
Bind Time 1.09s (± 0.58%) 1.08s (± 0.48%) ~ 1.08s 1.09s p=0.091 n=6
Check Time 7.78s (± 0.34%) 7.73s (± 0.27%) -0.04s (- 0.56%) 7.71s 7.77s p=0.024 n=6
Emit Time 4.50s (± 0.66%) 4.46s (± 0.48%) -0.04s (- 0.93%) 4.42s 4.48s p=0.027 n=6
Total Time 16.11s (± 0.33%) 16.00s (± 0.26%) -0.12s (- 0.72%) 15.93s 16.05s p=0.010 n=6
TFS - node (v16.17.1, x64)
Memory used 299,792k (± 0.01%) 299,813k (± 0.01%) ~ 299,755k 299,851k p=0.199 n=6
Parse Time 2.18s (± 0.41%) 2.17s (± 0.74%) ~ 2.16s 2.20s p=0.219 n=6
Bind Time 1.23s (± 0.80%) 1.25s (± 0.83%) +0.01s (+ 1.22%) 1.23s 1.26s p=0.039 n=6
Check Time 7.20s (± 0.77%) 7.20s (± 0.71%) ~ 7.14s 7.28s p=1.000 n=6
Emit Time 4.36s (± 1.02%) 4.36s (± 1.18%) ~ 4.31s 4.42s p=0.936 n=6
Total Time 14.97s (± 0.64%) 14.98s (± 0.71%) ~ 14.88s 15.11s p=1.000 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,432k (± 0.00%) 476,450k (± 0.00%) ~ 476,425k 476,481k p=0.470 n=6
Parse Time 3.22s (± 0.97%) 3.20s (± 0.87%) ~ 3.15s 3.23s p=0.164 n=6
Bind Time 0.96s (± 1.82%) 0.96s (± 1.28%) ~ 0.95s 0.98s p=0.081 n=6
Check Time 18.24s (± 0.66%) 18.08s (± 0.33%) -0.16s (- 0.87%) 18.00s 18.14s p=0.016 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.42s (± 0.59%) 22.24s (± 0.30%) -0.18s (- 0.81%) 22.15s 22.32s p=0.013 n=6
xstate - node (v16.17.1, x64)
Memory used 550,623k (± 0.04%) 550,611k (± 0.02%) ~ 550,467k 550,735k p=0.810 n=6
Parse Time 3.95s (± 0.46%) 3.94s (± 0.19%) ~ 3.93s 3.95s p=0.565 n=6
Bind Time 1.80s (± 0.35%) 1.80s (± 0.55%) ~ 1.79s 1.81s p=0.733 n=6
Check Time 3.04s (± 0.54%) 3.02s (± 0.78%) ~ 2.99s 3.05s p=0.075 n=6
Emit Time 0.09s (± 4.45%) 0.09s (± 0.00%) ~ 0.09s 0.09s p=0.405 n=6
Total Time 8.88s (± 0.31%) 8.85s (± 0.26%) -0.03s (- 0.39%) 8.82s 8.89s p=0.029 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
Benchmark Name Iterations
Current 53419 6
Baseline main 6

Developer Information:

Download Benchmark

@jakebailey

Copy link
Copy Markdown
Member

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

@typescript-bot

TypeScript Bot (typescript-bot) commented Mar 22, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@jakebailey), I've started to run the abridged perf test suite on this PR at 4c7eb83. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

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

Here they are:

Comparison Report - main..53419

Metric main 53419 Delta Best Worst p-value
Angular - node (v16.17.1, x64)
Memory used 361,412k (± 0.01%) 361,418k (± 0.01%) ~ 361,353k 361,480k p=0.873 n=6
Parse Time 3.53s (± 0.81%) 3.54s (± 0.81%) ~ 3.51s 3.59s p=0.421 n=6
Bind Time 1.18s (± 0.44%) 1.19s (± 0.43%) ~ 1.18s 1.19s p=0.311 n=6
Check Time 9.54s (± 0.69%) 9.56s (± 0.59%) ~ 9.47s 9.62s p=0.748 n=6
Emit Time 7.97s (± 0.55%) 7.97s (± 0.84%) ~ 7.85s 8.03s p=0.872 n=6
Total Time 22.22s (± 0.42%) 22.26s (± 0.48%) ~ 22.06s 22.35s p=0.469 n=6
Compiler-Unions - node (v16.17.1, x64)
Memory used 193,117k (± 0.71%) 192,554k (± 0.03%) ~ 192,490k 192,653k p=0.689 n=6
Parse Time 1.60s (± 0.61%) 1.60s (± 0.85%) ~ 1.58s 1.62s p=0.607 n=6
Bind Time 0.82s (± 0.63%) 0.83s (± 0.76%) ~ 0.82s 0.84s p=0.091 n=6
Check Time 10.12s (± 0.34%) 10.20s (± 0.94%) ~ 10.04s 10.32s p=0.063 n=6
Emit Time 2.99s (± 0.85%) 2.99s (± 0.50%) ~ 2.96s 3.00s p=0.357 n=6
Total Time 15.53s (± 0.40%) 15.62s (± 0.63%) ~ 15.48s 15.75s p=0.125 n=6
Monaco - node (v16.17.1, x64)
Memory used 345,578k (± 0.01%) 345,559k (± 0.01%) ~ 345,531k 345,578k p=0.298 n=6
Parse Time 2.73s (± 0.68%) 2.73s (± 0.63%) ~ 2.71s 2.76s p=1.000 n=6
Bind Time 1.09s (± 0.37%) 1.09s (± 0.69%) ~ 1.08s 1.10s p=0.389 n=6
Check Time 7.76s (± 0.30%) 7.74s (± 0.49%) ~ 7.70s 7.79s p=0.520 n=6
Emit Time 4.48s (± 0.73%) 4.48s (± 0.58%) ~ 4.46s 4.52s p=0.744 n=6
Total Time 16.06s (± 0.26%) 16.05s (± 0.48%) ~ 15.96s 16.15s p=0.685 n=6
TFS - node (v16.17.1, x64)
Memory used 299,820k (± 0.01%) 299,815k (± 0.01%) ~ 299,752k 299,871k p=0.873 n=6
Parse Time 2.16s (± 0.35%) 2.17s (± 0.54%) ~ 2.16s 2.19s p=0.150 n=6
Bind Time 1.25s (± 0.44%) 1.24s (± 1.18%) ~ 1.22s 1.26s p=0.866 n=6
Check Time 7.21s (± 0.38%) 7.19s (± 0.44%) ~ 7.15s 7.23s p=0.286 n=6
Emit Time 4.34s (± 0.54%) 4.35s (± 0.62%) ~ 4.30s 4.38s p=0.572 n=6
Total Time 14.96s (± 0.30%) 14.96s (± 0.37%) ~ 14.87s 15.04s p=0.871 n=6
material-ui - node (v16.17.1, x64)
Memory used 476,418k (± 0.00%) 476,441k (± 0.00%) ~ 476,424k 476,469k p=0.054 n=6
Parse Time 3.21s (± 0.23%) 3.19s (± 0.83%) ~ 3.16s 3.22s p=0.406 n=6
Bind Time 0.96s (± 0.54%) 0.97s (± 2.61%) ~ 0.95s 1.02s p=0.242 n=6
Check Time 18.16s (± 0.77%) 18.21s (± 0.75%) ~ 18.10s 18.45s p=0.521 n=6
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) ~ 0.00s 0.00s p=1.000 n=6
Total Time 22.33s (± 0.59%) 22.37s (± 0.67%) ~ 22.21s 22.64s p=0.689 n=6
xstate - node (v16.17.1, x64)
Memory used 550,540k (± 0.03%) 550,514k (± 0.02%) ~ 550,401k 550,728k p=0.689 n=6
Parse Time 3.95s (± 0.69%) 3.94s (± 0.30%) ~ 3.92s 3.95s p=0.871 n=6
Bind Time 1.79s (± 0.91%) 1.80s (± 0.76%) ~ 1.77s 1.81s p=0.867 n=6
Check Time 3.04s (± 0.87%) 3.02s (± 0.71%) ~ 2.99s 3.05s p=0.222 n=6
Emit Time 0.09s (± 0.00%) 0.09s (± 4.45%) ~ 0.09s 0.10s p=0.405 n=6
Total Time 8.86s (± 0.44%) 8.84s (± 0.34%) ~ 8.79s 8.88s p=0.224 n=6
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • Angular - node (v16.17.1, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Monaco - node (v16.17.1, x64)
  • TFS - node (v16.17.1, x64)
  • material-ui - node (v16.17.1, x64)
  • xstate - node (v16.17.1, x64)
Benchmark Name Iterations
Current 53419 6
Baseline main 6

Developer Information:

Download Benchmark

@jakebailey

Jake Bailey (jakebailey) commented Mar 22, 2023

Copy link
Copy Markdown
Member

Reran to show that there's actually no change; there's a frustrating problem with the perf runs at the moment where latest.main.benchmark is overwritten unconditionally, even though azdo can run builds from main out of order, which is pretty much guaranteed to happen when we have a big backlog. It's on my list...

(It's my fault for having disabled batching, which I did as it confused our dashboards into thinking a change regressed when it in fact did not.)

eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/third_party_typescript that referenced this pull request Oct 16, 2025
cherry pick a type compatibility fix from TypeScript into ohos-tsc

Created-by: lizzyhp
Commit-by: Anders Hejlsberg
Merged-by: openharmony_ci
Description: cherry pick:microsoft/TypeScript#53419 

## **自测试用例**


### **一、tsc测试套**
#### **1. tsc原生测试**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>

#### **2. ts_extra_test**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>


### **二、ArkTSLinter测试套**
#### **1. 三方库测试**
- [ ] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>

#### **2. Cookbook+issue测试**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>

#### **3. ArkTest测试**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>


### **三、 编译测试**
#### **1. 端到端测试**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>


### **四、 预览测试**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>


### **五、 热重载测试**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>


### **六、 急速预览**
- [x] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small>


### **七、 应用测试**
- [ ] <small>已通过</small>
- [ ] <small>不涉及,无需验证</small> 


See merge request: openharmony/third_party_typescript!767
@microsoft Microsoft (microsoft) locked as resolved and limited conversation to collaborators Oct 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: Team For Milestone Bug PRs that fix a bug with a specific milestone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Comparability/type assertion failure when using enums and underlying literals

5 participants