Skip to content

fix(44477): confuse comment emit when const multi enum has same key #44545

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

Merged
merged 2 commits into from
Mar 4, 2022

Conversation

a-tarasyuk
Copy link
Contributor

Fixes #44477

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Jun 11, 2021
Copy link
Member

@sandersn sandersn left a comment

Choose a reason for hiding this comment

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

This sounds like a good idea to me, but I'd like to have somebody who knows more about emit think about whether there are subtle pitfalls of making the emit larger.

@DanielRosenwasser
Copy link
Member

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2022

Heya @DanielRosenwasser, I've started to run the perf test suite on this PR at c0dfa1f. 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..44545

Metric main 44545 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 356,258k (± 0.02%) 356,244k (± 0.02%) -14k (- 0.00%) 356,121k 356,413k
Parse Time 1.95s (± 0.50%) 1.95s (± 0.62%) 0.00s ( 0.00%) 1.92s 1.97s
Bind Time 0.86s (± 1.31%) 0.86s (± 0.65%) -0.00s (- 0.35%) 0.85s 0.87s
Check Time 5.58s (± 0.66%) 5.57s (± 0.45%) -0.00s (- 0.05%) 5.54s 5.65s
Emit Time 5.93s (± 0.66%) 5.90s (± 0.32%) -0.03s (- 0.49%) 5.87s 5.94s
Total Time 14.32s (± 0.44%) 14.28s (± 0.22%) -0.04s (- 0.26%) 14.20s 14.35s
Compiler-Unions - node (v10.16.3, x64)
Memory used 204,268k (± 0.03%) 204,197k (± 0.04%) -71k (- 0.03%) 203,999k 204,400k
Parse Time 0.79s (± 1.20%) 0.78s (± 0.87%) -0.01s (- 1.26%) 0.77s 0.80s
Bind Time 0.52s (± 1.00%) 0.53s (± 0.90%) +0.01s (+ 1.15%) 0.52s 0.54s
Check Time 7.87s (± 0.69%) 7.84s (± 0.43%) -0.03s (- 0.43%) 7.74s 7.88s
Emit Time 2.47s (± 0.79%) 2.47s (± 0.69%) -0.00s (- 0.08%) 2.43s 2.51s
Total Time 11.65s (± 0.51%) 11.62s (± 0.37%) -0.03s (- 0.30%) 11.49s 11.70s
Monaco - node (v10.16.3, x64)
Memory used 342,649k (± 0.03%) 342,766k (± 0.03%) +117k (+ 0.03%) 342,654k 343,129k
Parse Time 1.48s (± 0.74%) 1.48s (± 0.64%) +0.00s (+ 0.07%) 1.46s 1.50s
Bind Time 0.76s (± 0.96%) 0.76s (± 0.65%) -0.00s (- 0.26%) 0.75s 0.77s
Check Time 5.52s (± 0.60%) 5.55s (± 0.88%) +0.03s (+ 0.58%) 5.46s 5.67s
Emit Time 3.24s (± 0.65%) 3.21s (± 0.46%) -0.03s (- 0.99%) 3.17s 3.23s
Total Time 11.00s (± 0.44%) 11.00s (± 0.40%) -0.00s (- 0.03%) 10.91s 11.13s
TFS - node (v10.16.3, x64)
Memory used 305,736k (± 0.01%) 305,755k (± 0.03%) +18k (+ 0.01%) 305,620k 306,042k
Parse Time 1.20s (± 0.41%) 1.20s (± 0.41%) +0.00s (+ 0.00%) 1.19s 1.21s
Bind Time 0.72s (± 0.69%) 0.72s (± 0.69%) +0.00s (+ 0.00%) 0.70s 0.72s
Check Time 5.06s (± 0.45%) 5.08s (± 0.38%) +0.02s (+ 0.40%) 5.05s 5.13s
Emit Time 3.40s (± 1.89%) 3.39s (± 1.14%) -0.02s (- 0.47%) 3.32s 3.50s
Total Time 10.37s (± 0.56%) 10.38s (± 0.36%) +0.00s (+ 0.04%) 10.29s 10.45s
material-ui - node (v10.16.3, x64)
Memory used 471,916k (± 0.01%) 471,902k (± 0.02%) -14k (- 0.00%) 471,760k 472,025k
Parse Time 1.78s (± 0.43%) 1.77s (± 0.28%) -0.00s (- 0.11%) 1.77s 1.79s
Bind Time 0.66s (± 1.01%) 0.66s (± 0.93%) +0.00s (+ 0.15%) 0.65s 0.67s
Check Time 14.27s (± 0.27%) 14.31s (± 0.76%) +0.05s (+ 0.32%) 14.14s 14.60s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.71s (± 0.22%) 16.75s (± 0.64%) +0.04s (+ 0.26%) 16.58s 17.04s
xstate - node (v10.16.3, x64)
Memory used 577,654k (± 1.84%) 570,485k (± 0.02%) -7,169k (- 1.24%) 570,310k 570,762k
Parse Time 2.56s (± 0.30%) 2.56s (± 0.35%) +0.01s (+ 0.31%) 2.54s 2.59s
Bind Time 1.02s (± 0.55%) 1.02s (± 0.79%) -0.00s (- 0.00%) 1.00s 1.04s
Check Time 1.50s (± 0.49%) 1.49s (± 0.63%) -0.00s (- 0.33%) 1.48s 1.52s
Emit Time 0.07s (± 0.00%) 0.07s (± 3.14%) +0.00s (+ 1.43%) 0.07s 0.08s
Total Time 5.14s (± 0.16%) 5.14s (± 0.25%) +0.00s (+ 0.06%) 5.12s 5.18s
Angular - node (v12.1.0, x64)
Memory used 334,021k (± 0.02%) 334,053k (± 0.02%) +32k (+ 0.01%) 333,898k 334,232k
Parse Time 1.95s (± 0.51%) 1.95s (± 0.61%) +0.00s (+ 0.15%) 1.93s 1.98s
Bind Time 0.85s (± 1.16%) 0.85s (± 0.56%) -0.00s (- 0.12%) 0.84s 0.86s
Check Time 5.40s (± 0.23%) 5.40s (± 0.28%) +0.00s (+ 0.02%) 5.37s 5.45s
Emit Time 6.14s (± 0.54%) 6.15s (± 0.79%) +0.02s (+ 0.31%) 6.08s 6.29s
Total Time 14.33s (± 0.32%) 14.36s (± 0.39%) +0.03s (+ 0.17%) 14.24s 14.48s
Compiler-Unions - node (v12.1.0, x64)
Memory used 191,748k (± 0.03%) 191,744k (± 0.05%) -4k (- 0.00%) 191,519k 191,924k
Parse Time 0.78s (± 0.79%) 0.78s (± 0.90%) +0.00s (+ 0.26%) 0.77s 0.80s
Bind Time 0.53s (± 0.89%) 0.54s (± 0.92%) +0.00s (+ 0.56%) 0.53s 0.55s
Check Time 7.38s (± 0.50%) 7.30s (± 0.57%) -0.08s (- 1.10%) 7.26s 7.46s
Emit Time 2.49s (± 0.65%) 2.50s (± 0.74%) +0.01s (+ 0.36%) 2.46s 2.53s
Total Time 11.18s (± 0.40%) 11.11s (± 0.42%) -0.07s (- 0.63%) 11.05s 11.28s
Monaco - node (v12.1.0, x64)
Memory used 325,556k (± 0.06%) 325,720k (± 0.02%) +164k (+ 0.05%) 325,541k 325,883k
Parse Time 1.48s (± 0.91%) 1.46s (± 0.84%) -0.01s (- 0.88%) 1.43s 1.49s
Bind Time 0.74s (± 0.60%) 0.74s (± 0.75%) +0.00s (+ 0.54%) 0.73s 0.76s
Check Time 5.44s (± 0.44%) 5.42s (± 0.45%) -0.02s (- 0.39%) 5.36s 5.49s
Emit Time 3.24s (± 1.06%) 3.23s (± 0.52%) -0.01s (- 0.28%) 3.19s 3.26s
Total Time 10.89s (± 0.42%) 10.84s (± 0.31%) -0.04s (- 0.37%) 10.78s 10.95s
TFS - node (v12.1.0, x64)
Memory used 290,414k (± 0.02%) 290,430k (± 0.02%) +16k (+ 0.01%) 290,340k 290,578k
Parse Time 1.21s (± 0.75%) 1.22s (± 1.02%) +0.01s (+ 0.50%) 1.19s 1.24s
Bind Time 0.70s (± 0.63%) 0.70s (± 1.84%) -0.00s (- 0.28%) 0.69s 0.75s
Check Time 4.99s (± 0.58%) 4.97s (± 0.42%) -0.02s (- 0.38%) 4.94s 5.01s
Emit Time 3.45s (± 0.72%) 3.46s (± 0.57%) +0.01s (+ 0.35%) 3.42s 3.50s
Total Time 10.35s (± 0.48%) 10.34s (± 0.24%) -0.01s (- 0.07%) 10.29s 10.39s
material-ui - node (v12.1.0, x64)
Memory used 450,295k (± 0.10%) 450,660k (± 0.02%) +364k (+ 0.08%) 450,485k 450,933k
Parse Time 1.78s (± 0.37%) 1.78s (± 0.35%) -0.00s (- 0.22%) 1.77s 1.79s
Bind Time 0.64s (± 0.63%) 0.64s (± 0.87%) +0.00s (+ 0.47%) 0.63s 0.65s
Check Time 12.85s (± 0.95%) 12.74s (± 0.15%) -0.10s (- 0.79%) 12.71s 12.78s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.27s (± 0.84%) 15.16s (± 0.16%) -0.10s (- 0.67%) 15.12s 15.22s
xstate - node (v12.1.0, x64)
Memory used 536,541k (± 0.01%) 536,466k (± 0.02%) -75k (- 0.01%) 536,277k 536,701k
Parse Time 2.50s (± 0.58%) 2.49s (± 0.45%) -0.01s (- 0.24%) 2.46s 2.51s
Bind Time 1.05s (± 0.49%) 1.05s (± 0.92%) 0.00s ( 0.00%) 1.03s 1.08s
Check Time 1.44s (± 0.75%) 1.43s (± 0.49%) -0.01s (- 0.83%) 1.41s 1.44s
Emit Time 0.07s (± 0.00%) 0.07s (± 0.00%) 0.00s ( 0.00%) 0.07s 0.07s
Total Time 5.06s (± 0.42%) 5.05s (± 0.29%) -0.02s (- 0.36%) 5.01s 5.07s
Angular - node (v14.15.1, x64)
Memory used 332,291k (± 0.01%) 332,281k (± 0.00%) -10k (- 0.00%) 332,250k 332,311k
Parse Time 1.95s (± 0.75%) 1.96s (± 0.77%) +0.01s (+ 0.36%) 1.93s 2.00s
Bind Time 0.88s (± 1.12%) 0.89s (± 0.92%) +0.01s (+ 0.57%) 0.87s 0.90s
Check Time 5.44s (± 0.47%) 5.44s (± 0.66%) +0.00s (+ 0.06%) 5.37s 5.52s
Emit Time 6.22s (± 0.87%) 6.19s (± 0.47%) -0.03s (- 0.51%) 6.13s 6.25s
Total Time 14.49s (± 0.52%) 14.47s (± 0.41%) -0.02s (- 0.13%) 14.39s 14.63s
Compiler-Unions - node (v14.15.1, x64)
Memory used 191,572k (± 0.58%) 191,679k (± 0.61%) +107k (+ 0.06%) 190,316k 193,661k
Parse Time 0.81s (± 0.68%) 0.81s (± 0.83%) -0.00s (- 0.62%) 0.80s 0.83s
Bind Time 0.56s (± 0.53%) 0.55s (± 0.66%) -0.00s (- 0.72%) 0.55s 0.56s
Check Time 7.41s (± 0.50%) 7.41s (± 0.60%) +0.00s (+ 0.03%) 7.35s 7.52s
Emit Time 2.48s (± 1.05%) 2.48s (± 0.59%) +0.00s (+ 0.08%) 2.45s 2.51s
Total Time 11.25s (± 0.38%) 11.25s (± 0.49%) -0.00s (- 0.04%) 11.16s 11.39s
Monaco - node (v14.15.1, x64)
Memory used 324,492k (± 0.01%) 324,497k (± 0.01%) +5k (+ 0.00%) 324,457k 324,570k
Parse Time 1.50s (± 0.50%) 1.51s (± 0.33%) +0.00s (+ 0.20%) 1.50s 1.52s
Bind Time 0.77s (± 0.47%) 0.77s (± 0.91%) +0.01s (+ 0.65%) 0.76s 0.79s
Check Time 5.36s (± 0.65%) 5.38s (± 0.56%) +0.02s (+ 0.35%) 5.31s 5.45s
Emit Time 3.28s (± 0.98%) 3.29s (± 0.47%) +0.01s (+ 0.24%) 3.25s 3.31s
Total Time 10.91s (± 0.58%) 10.94s (± 0.36%) +0.03s (+ 0.30%) 10.84s 11.03s
TFS - node (v14.15.1, x64)
Memory used 289,247k (± 0.01%) 289,250k (± 0.01%) +4k (+ 0.00%) 289,156k 289,291k
Parse Time 1.23s (± 0.82%) 1.23s (± 0.91%) -0.01s (- 0.49%) 1.21s 1.26s
Bind Time 0.74s (± 0.78%) 0.74s (± 0.45%) 0.00s ( 0.00%) 0.73s 0.75s
Check Time 4.96s (± 0.33%) 4.94s (± 0.40%) -0.02s (- 0.38%) 4.90s 4.98s
Emit Time 3.53s (± 1.04%) 3.55s (± 0.84%) +0.01s (+ 0.34%) 3.49s 3.62s
Total Time 10.47s (± 0.49%) 10.46s (± 0.37%) -0.01s (- 0.12%) 10.38s 10.54s
material-ui - node (v14.15.1, x64)
Memory used 448,819k (± 0.03%) 448,889k (± 0.00%) +71k (+ 0.02%) 448,855k 448,935k
Parse Time 1.83s (± 0.45%) 1.84s (± 0.52%) +0.00s (+ 0.27%) 1.82s 1.86s
Bind Time 0.69s (± 0.72%) 0.68s (± 0.70%) -0.00s (- 0.44%) 0.68s 0.70s
Check Time 12.87s (± 0.65%) 12.87s (± 0.51%) -0.00s (- 0.03%) 12.74s 13.01s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.39s (± 0.56%) 15.39s (± 0.41%) 0.00s ( 0.00%) 15.26s 15.51s
xstate - node (v14.15.1, x64)
Memory used 534,154k (± 0.00%) 534,149k (± 0.01%) -5k (- 0.00%) 534,075k 534,223k
Parse Time 2.55s (± 0.41%) 2.56s (± 0.61%) +0.01s (+ 0.51%) 2.53s 2.61s
Bind Time 1.16s (± 0.86%) 1.16s (± 0.65%) +0.00s (+ 0.09%) 1.15s 1.18s
Check Time 1.48s (± 0.50%) 1.48s (± 0.22%) -0.00s (- 0.20%) 1.47s 1.49s
Emit Time 0.08s (± 4.79%) 0.08s (± 4.79%) 0.00s ( 0.00%) 0.07s 0.08s
Total Time 5.28s (± 0.27%) 5.29s (± 0.31%) +0.02s (+ 0.28%) 5.26s 5.33s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-210-generic
Architecturex64
Available Memory16 GB
Available Memory6 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v10.16.3, x64)
  • xstate - node (v12.1.0, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 44545 10
Baseline main 10

Developer Information:

Download Benchmark

@weswigham weswigham merged commit 5f9f9e3 into microsoft:main Mar 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Backlog Bug PRs that fix a backlog bug
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

confuse comment emit when const multi enum has same key
5 participants