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

Exclude comparable relation from literal type relation optimization #53419

Merged
merged 3 commits into from
Mar 23, 2023

Conversation

ahejlsberg
Copy link
Member

Fixes #53400.

@DanielRosenwasser
Copy link
Member

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 21, 2023

Heya @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
Collaborator

@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
Member

@typescript-bot perf test this faster

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 22, 2023

Heya @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
Collaborator

@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
Copy link
Member

jakebailey commented Mar 22, 2023

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.)

@ahejlsberg ahejlsberg merged commit 37bafa5 into main Mar 23, 2023
@ahejlsberg ahejlsberg deleted the fix53400 branch March 23, 2023 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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