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

Fix #30557 Narrow non-declared unions by discriminant #30593

Closed

Conversation

jack-williams
Copy link
Collaborator

Fixes #30557

@Validark
Copy link

Short and seemingly straightforward. Hopefully someone with the power to merge this can review it soon. Thank you for tracking this bug down and fixing it!

@RyanCavanaugh
Copy link
Member

@typescript-bot test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2019

Heya @RyanCavanaugh, I've started to run the extended test suite on this PR at e130cd6. You can monitor the build here. It should now contribute to this PR's status checks.

@jack-williams
Copy link
Collaborator Author

Perf regression?

@jack-williams
Copy link
Collaborator Author

For large unions without a discriminant I was computing the union of the property twice, which I guess is expensive. Not sure if this is enough to fix the problem however.

@RyanCavanaugh
Copy link
Member

@typescript-bot test this new commit

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2019

Heya @RyanCavanaugh, I've started to run the extended test suite on this PR at e038290. You can monitor the build here. It should now contribute to this PR's status checks.

@jack-williams
Copy link
Collaborator Author

jack-williams commented Mar 26, 2019

Edit: Ah, I think the property cache is getting wrecked because we are no longer always hitting the declared type. I’ll try fix this by first testing the declared type then falling back if it’s not a union.

I dont know if anyone with more knowledge than me sees something obvious that I’m missing. One alternative might be to limit the narrowing to cases where the declared type is unknown or object, though that doesn’t feel especially principled.

@RyanCavanaugh
Copy link
Member

@typescript-bot test this because maybe it works now!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 27, 2019

Heya @RyanCavanaugh, I've started to run the extended test suite on this PR at 61d2eaf. You can monitor the build here. It should now contribute to this PR's status checks.

@jack-williams
Copy link
Collaborator Author

jack-williams commented Mar 27, 2019

Sorry @typescript-bot, I hope I don't let you down

Narrator: He did

@Validark
Copy link

Psyched!

@jack-williams
Copy link
Collaborator Author

@RyanCavanaugh

The RWC tests were running at 40m and going, so I don't think my change fixed that. I've changed it to only ever narrow from one type. Before, if the declared type was not a union but narrowed to a big union, then each subsequent narrowing would hit a different property cache.

@RyanCavanaugh
Copy link
Member

@typescript-bot test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 25, 2019

Heya @RyanCavanaugh, I've started to run the extended test suite on this PR at 4b3a96a. You can monitor the build here. It should now contribute to this PR's status checks.

@RyanCavanaugh
Copy link
Member

Forgot to sync this branch with master; need to rerun

@RyanCavanaugh
Copy link
Member

@typescript-bot test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 25, 2019

Heya @RyanCavanaugh, I've started to run the extended test suite on this PR at 8ed48e6. You can monitor the build here. It should now contribute to this PR's status checks.

@RyanCavanaugh
Copy link
Member

RWC is actually clean

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 26, 2019

Heya @RyanCavanaugh, I've started to run the perf test suite on this PR at 8ed48e6. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..30593

Metric master 30593 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 355,152k (± 0.01%) 356,901k (± 0.01%) +1,749k (+ 0.49%) 356,837k 357,022k
Parse Time 1.62s (± 0.65%) 1.62s (± 0.42%) +0.00s (+ 0.06%) 1.61s 1.64s
Bind Time 0.87s (± 1.16%) 0.87s (± 0.92%) +0.00s (+ 0.23%) 0.85s 0.89s
Check Time 4.53s (± 0.59%) 4.52s (± 0.32%) -0.01s (- 0.18%) 4.50s 4.56s
Emit Time 5.28s (± 0.72%) 5.24s (± 0.69%) -0.04s (- 0.81%) 5.15s 5.32s
Total Time 12.30s (± 0.51%) 12.25s (± 0.38%) -0.05s (- 0.40%) 12.13s 12.35s
Monaco - node (v10.16.3, x64)
Memory used 366,012k (± 0.02%) 365,984k (± 0.01%) -28k (- 0.01%) 365,920k 366,109k
Parse Time 1.27s (± 0.76%) 1.25s (± 0.52%) -0.02s (- 1.49%) 1.24s 1.27s
Bind Time 0.76s (± 0.39%) 0.75s (± 0.48%) -0.00s (- 0.53%) 0.75s 0.76s
Check Time 4.65s (± 0.69%) 4.66s (± 0.36%) +0.01s (+ 0.24%) 4.63s 4.70s
Emit Time 2.96s (± 0.74%) 2.94s (± 0.93%) -0.02s (- 0.71%) 2.90s 3.01s
Total Time 9.64s (± 0.42%) 9.61s (± 0.40%) -0.03s (- 0.34%) 9.53s 9.71s
TFS - node (v10.16.3, x64)
Memory used 321,701k (± 0.02%) 321,641k (± 0.01%) -60k (- 0.02%) 321,574k 321,688k
Parse Time 0.96s (± 0.71%) 0.95s (± 0.47%) -0.01s (- 1.24%) 0.94s 0.96s
Bind Time 0.72s (± 1.31%) 0.72s (± 1.30%) -0.00s (- 0.14%) 0.70s 0.74s
Check Time 4.12s (± 0.40%) 4.12s (± 0.55%) -0.00s (- 0.12%) 4.06s 4.16s
Emit Time 3.06s (± 0.63%) 3.06s (± 0.88%) -0.01s (- 0.23%) 3.00s 3.12s
Total Time 8.88s (± 0.33%) 8.85s (± 0.56%) -0.03s (- 0.29%) 8.72s 8.95s
Angular - node (v12.1.0, x64)
Memory used 330,667k (± 0.04%) 332,350k (± 0.02%) +1,684k (+ 0.51%) 332,182k 332,481k
Parse Time 1.56s (± 0.48%) 1.57s (± 0.85%) +0.01s (+ 0.38%) 1.55s 1.60s
Bind Time 0.85s (± 0.79%) 0.86s (± 1.31%) +0.01s (+ 1.65%) 0.84s 0.89s
Check Time 4.47s (± 0.66%) 4.46s (± 0.55%) -0.01s (- 0.25%) 4.42s 4.53s
Emit Time 5.48s (± 0.97%) 5.45s (± 0.54%) -0.03s (- 0.60%) 5.39s 5.51s
Total Time 12.36s (± 0.62%) 12.33s (± 0.36%) -0.02s (- 0.19%) 12.23s 12.42s
Monaco - node (v12.1.0, x64)
Memory used 345,751k (± 0.01%) 345,728k (± 0.02%) -23k (- 0.01%) 345,541k 345,866k
Parse Time 1.23s (± 0.75%) 1.22s (± 0.83%) -0.02s (- 1.30%) 1.20s 1.25s
Bind Time 0.72s (± 0.51%) 0.73s (± 1.04%) +0.00s (+ 0.14%) 0.71s 0.75s
Check Time 4.50s (± 0.37%) 4.49s (± 0.43%) -0.01s (- 0.27%) 4.46s 4.53s
Emit Time 3.01s (± 0.57%) 2.99s (± 0.46%) -0.02s (- 0.80%) 2.95s 3.01s
Total Time 9.47s (± 0.29%) 9.42s (± 0.38%) -0.05s (- 0.55%) 9.33s 9.49s
TFS - node (v12.1.0, x64)
Memory used 304,008k (± 0.02%) 304,000k (± 0.02%) -9k (- 0.00%) 303,880k 304,114k
Parse Time 0.95s (± 0.61%) 0.95s (± 0.47%) -0.00s (- 0.21%) 0.94s 0.96s
Bind Time 0.69s (± 0.94%) 0.69s (± 0.72%) -0.00s (- 0.29%) 0.68s 0.70s
Check Time 4.05s (± 0.62%) 4.06s (± 0.44%) +0.01s (+ 0.22%) 4.04s 4.12s
Emit Time 3.10s (± 1.05%) 3.12s (± 1.08%) +0.02s (+ 0.58%) 3.06s 3.19s
Total Time 8.79s (± 0.53%) 8.81s (± 0.36%) +0.02s (+ 0.24%) 8.74s 8.87s
Angular - node (v8.9.0, x64)
Memory used 349,951k (± 0.02%) 351,617k (± 0.01%) +1,666k (+ 0.48%) 351,500k 351,703k
Parse Time 2.11s (± 0.48%) 2.11s (± 0.42%) +0.00s (+ 0.24%) 2.10s 2.14s
Bind Time 0.91s (± 0.80%) 0.92s (± 0.52%) +0.01s (+ 0.99%) 0.91s 0.93s
Check Time 5.28s (± 0.36%) 5.33s (± 0.62%) +0.04s (+ 0.83%) 5.26s 5.40s
Emit Time 6.26s (± 0.66%) 6.25s (± 0.61%) -0.01s (- 0.13%) 6.15s 6.32s
Total Time 14.55s (± 0.30%) 14.61s (± 0.41%) +0.06s (+ 0.38%) 14.44s 14.72s
Monaco - node (v8.9.0, x64)
Memory used 363,805k (± 0.01%) 363,792k (± 0.01%) -13k (- 0.00%) 363,694k 363,844k
Parse Time 1.57s (± 0.61%) 1.56s (± 0.40%) -0.01s (- 0.45%) 1.55s 1.58s
Bind Time 0.93s (± 0.83%) 0.91s (± 0.74%) -0.01s (- 1.61%) 0.90s 0.93s
Check Time 5.56s (± 0.35%) 5.55s (± 0.49%) -0.01s (- 0.18%) 5.50s 5.61s
Emit Time 3.05s (± 0.69%) 3.03s (± 0.99%) -0.01s (- 0.46%) 3.00s 3.14s
Total Time 11.11s (± 0.39%) 11.06s (± 0.37%) -0.05s (- 0.42%) 11.00s 11.17s
TFS - node (v8.9.0, x64)
Memory used 320,571k (± 0.01%) 320,550k (± 0.01%) -21k (- 0.01%) 320,486k 320,688k
Parse Time 1.28s (± 0.29%) 1.27s (± 0.53%) -0.00s (- 0.24%) 1.25s 1.28s
Bind Time 0.74s (± 0.54%) 0.74s (± 0.93%) -0.01s (- 0.81%) 0.72s 0.75s
Check Time 4.76s (± 0.44%) 4.75s (± 0.58%) -0.01s (- 0.15%) 4.68s 4.82s
Emit Time 3.27s (± 1.00%) 3.22s (± 0.87%) -0.05s (- 1.68%) 3.17s 3.29s
Total Time 10.05s (± 0.47%) 9.98s (± 0.57%) -0.07s (- 0.73%) 9.89s 10.14s
Angular - node (v8.9.0, x86)
Memory used 198,699k (± 0.03%) 199,564k (± 0.03%) +865k (+ 0.44%) 199,434k 199,712k
Parse Time 2.04s (± 1.00%) 2.04s (± 0.59%) -0.00s (- 0.25%) 2.01s 2.06s
Bind Time 1.03s (± 1.58%) 1.02s (± 0.69%) -0.01s (- 1.35%) 1.01s 1.04s
Check Time 4.82s (± 0.63%) 4.82s (± 0.72%) +0.00s (+ 0.06%) 4.74s 4.93s
Emit Time 6.07s (± 1.16%) 6.18s (± 1.70%) +0.12s (+ 1.93%) 6.01s 6.41s
Total Time 13.96s (± 0.62%) 14.06s (± 0.68%) +0.10s (+ 0.72%) 13.85s 14.27s
Monaco - node (v8.9.0, x86)
Memory used 203,783k (± 0.02%) 203,806k (± 0.02%) +23k (+ 0.01%) 203,752k 203,893k
Parse Time 1.62s (± 0.40%) 1.61s (± 0.75%) -0.01s (- 0.74%) 1.59s 1.64s
Bind Time 0.75s (± 1.08%) 0.75s (± 1.79%) +0.00s (+ 0.13%) 0.73s 0.79s
Check Time 5.36s (± 0.77%) 5.38s (± 0.33%) +0.02s (+ 0.37%) 5.35s 5.42s
Emit Time 2.93s (± 1.25%) 2.85s (± 0.87%) -0.08s (- 2.66%) 2.81s 2.92s
Total Time 10.67s (± 0.39%) 10.60s (± 0.44%) -0.07s (- 0.66%) 10.51s 10.70s
TFS - node (v8.9.0, x86)
Memory used 180,549k (± 0.02%) 180,557k (± 0.02%) +8k (+ 0.00%) 180,470k 180,624k
Parse Time 1.31s (± 0.83%) 1.30s (± 0.57%) -0.01s (- 0.61%) 1.29s 1.32s
Bind Time 0.70s (± 0.71%) 0.69s (± 0.49%) -0.00s (- 0.43%) 0.69s 0.70s
Check Time 4.51s (± 0.68%) 4.50s (± 0.77%) -0.00s (- 0.11%) 4.43s 4.57s
Emit Time 2.97s (± 1.03%) 2.98s (± 0.81%) +0.01s (+ 0.27%) 2.94s 3.05s
Total Time 9.48s (± 0.52%) 9.48s (± 0.39%) 0.00s ( 0.00%) 9.40s 9.57s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory8 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
Benchmark Name Iterations
Current 30593 10
Baseline master 10

@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 18, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at b31b417. You can monitor the build here. It should now contribute to this PR's status checks.

@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 18, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at b31b417. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..30593

Metric master 30593 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 354,643k (± 0.02%) 356,838k (± 0.02%) +2,195k (+ 0.62%) 356,722k 356,957k
Parse Time 1.62s (± 0.66%) 1.64s (± 0.58%) +0.02s (+ 1.05%) 1.62s 1.66s
Bind Time 0.86s (± 0.61%) 0.87s (± 1.15%) +0.01s (+ 0.93%) 0.85s 0.90s
Check Time 4.53s (± 0.57%) 4.54s (± 0.54%) +0.02s (+ 0.42%) 4.49s 4.61s
Emit Time 5.26s (± 0.73%) 5.22s (± 0.53%) -0.04s (- 0.70%) 5.16s 5.28s
Total Time 12.26s (± 0.41%) 12.27s (± 0.39%) +0.01s (+ 0.09%) 12.18s 12.37s
Monaco - node (v10.16.3, x64)
Memory used 365,977k (± 0.02%) 365,964k (± 0.01%) -14k (- 0.00%) 365,837k 366,048k
Parse Time 1.26s (± 0.80%) 1.26s (± 0.77%) -0.01s (- 0.47%) 1.25s 1.29s
Bind Time 0.75s (± 0.63%) 0.75s (± 0.65%) +0.00s (+ 0.13%) 0.74s 0.76s
Check Time 4.64s (± 0.34%) 4.69s (± 0.71%) +0.05s (+ 0.99%) 4.63s 4.76s
Emit Time 2.97s (± 0.81%) 2.92s (± 0.90%) -0.04s (- 1.48%) 2.87s 2.98s
Total Time 9.62s (± 0.41%) 9.62s (± 0.59%) -0.00s (- 0.01%) 9.53s 9.75s
TFS - node (v10.16.3, x64)
Memory used 321,608k (± 0.02%) 321,649k (± 0.02%) +41k (+ 0.01%) 321,519k 321,780k
Parse Time 0.97s (± 0.62%) 0.96s (± 1.00%) -0.01s (- 1.14%) 0.93s 0.97s
Bind Time 0.73s (± 1.14%) 0.72s (± 1.14%) -0.01s (- 1.24%) 0.70s 0.74s
Check Time 4.13s (± 0.39%) 4.13s (± 0.59%) +0.00s (+ 0.02%) 4.08s 4.18s
Emit Time 3.06s (± 0.72%) 3.06s (± 1.32%) +0.01s (+ 0.16%) 2.98s 3.21s
Total Time 8.88s (± 0.38%) 8.87s (± 0.72%) -0.01s (- 0.15%) 8.76s 9.07s
Angular - node (v12.1.0, x64)
Memory used 330,178k (± 0.06%) 332,264k (± 0.08%) +2,086k (+ 0.63%) 331,235k 332,504k
Parse Time 1.58s (± 0.73%) 1.58s (± 0.42%) +0.01s (+ 0.38%) 1.57s 1.60s
Bind Time 0.84s (± 0.58%) 0.85s (± 0.70%) +0.01s (+ 1.18%) 0.84s 0.87s
Check Time 4.46s (± 0.30%) 4.48s (± 0.58%) +0.02s (+ 0.45%) 4.43s 4.53s
Emit Time 5.50s (± 1.04%) 5.52s (± 0.97%) +0.01s (+ 0.22%) 5.45s 5.66s
Total Time 12.38s (± 0.52%) 12.44s (± 0.51%) +0.05s (+ 0.44%) 12.34s 12.61s
Monaco - node (v12.1.0, x64)
Memory used 345,665k (± 0.01%) 345,738k (± 0.02%) +73k (+ 0.02%) 345,578k 345,888k
Parse Time 1.23s (± 0.67%) 1.23s (± 0.77%) -0.01s (- 0.65%) 1.20s 1.25s
Bind Time 0.73s (± 0.91%) 0.74s (± 1.29%) +0.00s (+ 0.41%) 0.72s 0.76s
Check Time 4.50s (± 0.35%) 4.52s (± 0.38%) +0.02s (+ 0.51%) 4.49s 4.57s
Emit Time 3.04s (± 1.03%) 3.01s (± 0.40%) -0.02s (- 0.76%) 2.99s 3.05s
Total Time 9.50s (± 0.29%) 9.50s (± 0.26%) -0.00s (- 0.04%) 9.45s 9.54s
TFS - node (v12.1.0, x64)
Memory used 304,116k (± 0.02%) 304,004k (± 0.02%) -111k (- 0.04%) 303,891k 304,139k
Parse Time 0.96s (± 1.09%) 0.95s (± 0.79%) -0.01s (- 1.35%) 0.93s 0.97s
Bind Time 0.68s (± 0.50%) 0.69s (± 1.36%) +0.01s (+ 1.46%) 0.68s 0.72s
Check Time 4.06s (± 0.53%) 4.05s (± 0.54%) -0.01s (- 0.32%) 4.01s 4.12s
Emit Time 3.11s (± 0.69%) 3.10s (± 0.41%) -0.01s (- 0.32%) 3.08s 3.12s
Total Time 8.81s (± 0.43%) 8.80s (± 0.30%) -0.02s (- 0.18%) 8.73s 8.86s
Angular - node (v8.9.0, x64)
Memory used 349,535k (± 0.02%) 351,626k (± 0.02%) +2,092k (+ 0.60%) 351,468k 351,730k
Parse Time 2.11s (± 0.63%) 2.12s (± 0.63%) +0.01s (+ 0.43%) 2.10s 2.16s
Bind Time 0.91s (± 0.68%) 0.93s (± 0.64%) +0.02s (+ 1.87%) 0.92s 0.94s
Check Time 5.30s (± 0.39%) 5.33s (± 0.78%) +0.03s (+ 0.62%) 5.22s 5.41s
Emit Time 6.25s (± 1.87%) 6.33s (± 0.78%) +0.08s (+ 1.28%) 6.21s 6.43s
Total Time 14.57s (± 0.83%) 14.71s (± 0.57%) +0.14s (+ 0.93%) 14.48s 14.86s
Monaco - node (v8.9.0, x64)
Memory used 363,735k (± 0.01%) 363,795k (± 0.01%) +60k (+ 0.02%) 363,688k 363,971k
Parse Time 1.57s (± 0.84%) 1.56s (± 0.41%) -0.01s (- 0.64%) 1.55s 1.58s
Bind Time 0.93s (± 0.48%) 0.92s (± 0.67%) -0.01s (- 1.18%) 0.91s 0.94s
Check Time 5.58s (± 0.54%) 5.57s (± 0.57%) -0.01s (- 0.20%) 5.50s 5.63s
Emit Time 3.07s (± 0.92%) 3.05s (± 0.72%) -0.01s (- 0.39%) 3.00s 3.10s
Total Time 11.15s (± 0.46%) 11.10s (± 0.37%) -0.04s (- 0.40%) 11.02s 11.19s
TFS - node (v8.9.0, x64)
Memory used 320,545k (± 0.01%) 320,549k (± 0.02%) +4k (+ 0.00%) 320,453k 320,695k
Parse Time 1.27s (± 0.60%) 1.27s (± 0.53%) -0.00s (- 0.16%) 1.26s 1.29s
Bind Time 0.74s (± 0.64%) 0.74s (± 0.64%) 0.00s ( 0.00%) 0.73s 0.75s
Check Time 4.75s (± 0.25%) 4.74s (± 0.49%) -0.01s (- 0.29%) 4.70s 4.81s
Emit Time 3.23s (± 0.71%) 3.21s (± 0.80%) -0.02s (- 0.65%) 3.13s 3.26s
Total Time 10.00s (± 0.33%) 9.96s (± 0.41%) -0.04s (- 0.38%) 9.84s 10.06s
Angular - node (v8.9.0, x86)
Memory used 198,437k (± 0.03%) 199,545k (± 0.03%) +1,109k (+ 0.56%) 199,431k 199,652k
Parse Time 2.02s (± 0.55%) 2.04s (± 0.74%) +0.01s (+ 0.74%) 2.01s 2.07s
Bind Time 1.03s (± 1.41%) 1.01s (± 0.59%) -0.02s (- 1.55%) 1.00s 1.03s
Check Time 4.79s (± 0.58%) 4.82s (± 0.51%) +0.03s (+ 0.58%) 4.76s 4.89s
Emit Time 6.09s (± 0.95%) 6.12s (± 1.58%) +0.02s (+ 0.38%) 6.00s 6.38s
Total Time 13.94s (± 0.45%) 13.99s (± 0.70%) +0.05s (+ 0.36%) 13.83s 14.26s
Monaco - node (v8.9.0, x86)
Memory used 203,759k (± 0.02%) 203,759k (± 0.02%) 0k ( 0.00%) 203,681k 203,839k
Parse Time 1.61s (± 0.47%) 1.61s (± 1.05%) -0.00s (- 0.12%) 1.59s 1.67s
Bind Time 0.75s (± 1.04%) 0.75s (± 0.82%) +0.00s (+ 0.27%) 0.74s 0.76s
Check Time 5.43s (± 0.52%) 5.37s (± 0.78%) -0.05s (- 0.98%) 5.24s 5.44s
Emit Time 2.87s (± 0.71%) 2.90s (± 2.11%) +0.03s (+ 1.05%) 2.84s 3.13s
Total Time 10.66s (± 0.39%) 10.63s (± 0.37%) -0.03s (- 0.25%) 10.56s 10.71s
TFS - node (v8.9.0, x86)
Memory used 180,599k (± 0.02%) 180,558k (± 0.02%) -40k (- 0.02%) 180,490k 180,659k
Parse Time 1.31s (± 0.72%) 1.31s (± 0.81%) -0.00s (- 0.31%) 1.29s 1.33s
Bind Time 0.70s (± 0.83%) 0.70s (± 0.74%) +0.00s (+ 0.29%) 0.69s 0.71s
Check Time 4.49s (± 0.50%) 4.49s (± 0.46%) +0.00s (+ 0.09%) 4.45s 4.55s
Emit Time 2.98s (± 1.45%) 2.98s (± 0.61%) -0.00s (- 0.13%) 2.93s 3.02s
Total Time 9.47s (± 0.53%) 9.47s (± 0.38%) -0.00s (- 0.03%) 9.38s 9.53s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory7 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
Benchmark Name Iterations
Current 30593 10
Baseline master 10

@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 19, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at 356b91d. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..30593

Metric master 30593 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 354,635k (± 0.02%) 356,857k (± 0.02%) +2,222k (+ 0.63%) 356,685k 356,999k
Parse Time 1.62s (± 0.53%) 1.62s (± 0.49%) -0.00s (- 0.25%) 1.60s 1.63s
Bind Time 0.86s (± 0.35%) 0.87s (± 0.81%) +0.01s (+ 1.28%) 0.85s 0.88s
Check Time 4.54s (± 0.72%) 4.53s (± 0.45%) -0.01s (- 0.15%) 4.49s 4.59s
Emit Time 5.25s (± 0.65%) 5.25s (± 0.88%) -0.01s (- 0.15%) 5.16s 5.36s
Total Time 12.27s (± 0.48%) 12.26s (± 0.42%) -0.01s (- 0.07%) 12.17s 12.37s
Monaco - node (v10.16.3, x64)
Memory used 365,938k (± 0.02%) 366,033k (± 0.01%) +95k (+ 0.03%) 365,920k 366,101k
Parse Time 1.27s (± 0.70%) 1.25s (± 0.65%) -0.01s (- 1.10%) 1.24s 1.27s
Bind Time 0.76s (± 0.65%) 0.75s (± 0.59%) -0.00s (- 0.53%) 0.74s 0.76s
Check Time 4.65s (± 0.71%) 4.65s (± 0.46%) -0.00s (- 0.02%) 4.61s 4.70s
Emit Time 2.94s (± 0.62%) 2.95s (± 0.68%) +0.01s (+ 0.20%) 2.91s 2.98s
Total Time 9.61s (± 0.54%) 9.60s (± 0.44%) -0.01s (- 0.10%) 9.51s 9.68s
TFS - node (v10.16.3, x64)
Memory used 321,649k (± 0.02%) 321,625k (± 0.02%) -24k (- 0.01%) 321,487k 321,714k
Parse Time 0.96s (± 0.63%) 0.95s (± 0.42%) -0.00s (- 0.42%) 0.94s 0.96s
Bind Time 0.72s (± 1.34%) 0.71s (± 1.24%) -0.01s (- 0.83%) 0.69s 0.73s
Check Time 4.12s (± 0.55%) 4.13s (± 0.38%) +0.02s (+ 0.49%) 4.10s 4.17s
Emit Time 3.05s (± 0.69%) 3.05s (± 0.74%) +0.00s (+ 0.03%) 3.01s 3.11s
Total Time 8.83s (± 0.49%) 8.85s (± 0.46%) +0.02s (+ 0.18%) 8.80s 8.96s
Angular - node (v12.1.0, x64)
Memory used 330,236k (± 0.02%) 332,215k (± 0.08%) +1,979k (+ 0.60%) 331,465k 332,465k
Parse Time 1.57s (± 0.75%) 1.57s (± 0.43%) -0.00s (- 0.13%) 1.55s 1.58s
Bind Time 0.84s (± 0.58%) 0.85s (± 0.97%) +0.01s (+ 1.18%) 0.84s 0.88s
Check Time 4.46s (± 0.30%) 4.48s (± 0.88%) +0.02s (+ 0.45%) 4.40s 4.57s
Emit Time 5.48s (± 0.98%) 5.49s (± 1.15%) +0.02s (+ 0.29%) 5.36s 5.67s
Total Time 12.35s (± 0.51%) 12.40s (± 0.76%) +0.04s (+ 0.36%) 12.18s 12.62s
Monaco - node (v12.1.0, x64)
Memory used 345,643k (± 0.02%) 345,745k (± 0.02%) +102k (+ 0.03%) 345,606k 345,897k
Parse Time 1.23s (± 0.56%) 1.22s (± 0.55%) -0.00s (- 0.24%) 1.21s 1.23s
Bind Time 0.73s (± 0.64%) 0.73s (± 0.96%) -0.00s (- 0.14%) 0.72s 0.75s
Check Time 4.51s (± 0.25%) 4.51s (± 0.30%) +0.00s (+ 0.07%) 4.47s 4.54s
Emit Time 3.04s (± 0.72%) 3.01s (± 1.09%) -0.03s (- 0.89%) 2.96s 3.12s
Total Time 9.50s (± 0.25%) 9.47s (± 0.48%) -0.03s (- 0.33%) 9.40s 9.62s
TFS - node (v12.1.0, x64)
Memory used 304,038k (± 0.01%) 304,012k (± 0.02%) -26k (- 0.01%) 303,902k 304,122k
Parse Time 0.96s (± 0.68%) 0.94s (± 0.36%) -0.01s (- 1.57%) 0.94s 0.95s
Bind Time 0.68s (± 0.87%) 0.68s (± 1.21%) -0.00s (- 0.15%) 0.67s 0.71s
Check Time 4.06s (± 0.51%) 4.06s (± 0.43%) -0.01s (- 0.20%) 4.00s 4.08s
Emit Time 3.12s (± 1.68%) 3.10s (± 0.92%) -0.03s (- 0.90%) 3.05s 3.19s
Total Time 8.83s (± 0.76%) 8.78s (± 0.38%) -0.05s (- 0.58%) 8.72s 8.86s
Angular - node (v8.9.0, x64)
Memory used 349,568k (± 0.01%) 351,594k (± 0.02%) +2,026k (+ 0.58%) 351,417k 351,752k
Parse Time 2.11s (± 0.74%) 2.12s (± 0.49%) +0.01s (+ 0.52%) 2.10s 2.14s
Bind Time 0.91s (± 0.80%) 0.92s (± 0.67%) +0.01s (+ 0.99%) 0.91s 0.94s
Check Time 5.29s (± 0.39%) 5.28s (± 0.56%) -0.01s (- 0.23%) 5.22s 5.34s
Emit Time 6.24s (± 1.34%) 6.25s (± 1.04%) +0.01s (+ 0.21%) 6.08s 6.38s
Total Time 14.55s (± 0.62%) 14.57s (± 0.43%) +0.02s (+ 0.15%) 14.40s 14.69s
Monaco - node (v8.9.0, x64)
Memory used 363,727k (± 0.02%) 363,812k (± 0.02%) +85k (+ 0.02%) 363,715k 363,913k
Parse Time 1.56s (± 0.41%) 1.56s (± 0.22%) -0.01s (- 0.32%) 1.55s 1.56s
Bind Time 0.93s (± 0.73%) 0.92s (± 0.54%) -0.02s (- 2.03%) 0.91s 0.93s
Check Time 5.54s (± 0.67%) 5.54s (± 0.36%) -0.01s (- 0.13%) 5.49s 5.58s
Emit Time 3.03s (± 0.61%) 3.04s (± 0.43%) +0.01s (+ 0.23%) 3.01s 3.08s
Total Time 11.07s (± 0.42%) 11.05s (± 0.27%) -0.02s (- 0.22%) 10.97s 11.09s
TFS - node (v8.9.0, x64)
Memory used 320,578k (± 0.02%) 320,532k (± 0.01%) -46k (- 0.01%) 320,407k 320,618k
Parse Time 1.27s (± 0.66%) 1.27s (± 0.49%) +0.00s (+ 0.16%) 1.26s 1.28s
Bind Time 0.74s (± 0.40%) 0.74s (± 0.68%) -0.01s (- 0.94%) 0.73s 0.75s
Check Time 4.72s (± 0.46%) 4.74s (± 0.72%) +0.01s (+ 0.23%) 4.65s 4.82s
Emit Time 3.22s (± 0.92%) 3.23s (± 0.68%) +0.01s (+ 0.40%) 3.19s 3.29s
Total Time 9.95s (± 0.45%) 9.97s (± 0.48%) +0.02s (+ 0.20%) 9.88s 10.08s
Angular - node (v8.9.0, x86)
Memory used 198,420k (± 0.02%) 199,591k (± 0.02%) +1,171k (+ 0.59%) 199,511k 199,659k
Parse Time 2.02s (± 0.51%) 2.03s (± 0.59%) +0.01s (+ 0.59%) 2.01s 2.06s
Bind Time 1.04s (± 1.44%) 1.02s (± 0.60%) -0.02s (- 1.45%) 1.01s 1.03s
Check Time 4.80s (± 0.45%) 4.81s (± 0.62%) +0.00s (+ 0.10%) 4.76s 4.88s
Emit Time 6.10s (± 1.16%) 6.10s (± 1.48%) -0.01s (- 0.13%) 6.00s 6.35s
Total Time 13.97s (± 0.61%) 13.96s (± 0.73%) -0.00s (- 0.02%) 13.79s 14.24s
Monaco - node (v8.9.0, x86)
Memory used 203,761k (± 0.02%) 203,771k (± 0.02%) +11k (+ 0.01%) 203,696k 203,842k
Parse Time 1.60s (± 0.46%) 1.60s (± 0.46%) -0.00s (- 0.12%) 1.58s 1.61s
Bind Time 0.75s (± 0.74%) 0.75s (± 0.66%) -0.00s (- 0.27%) 0.74s 0.76s
Check Time 5.41s (± 0.52%) 5.39s (± 0.80%) -0.02s (- 0.41%) 5.33s 5.50s
Emit Time 2.87s (± 1.13%) 2.89s (± 1.74%) +0.02s (+ 0.70%) 2.81s 3.06s
Total Time 10.63s (± 0.45%) 10.62s (± 0.38%) -0.01s (- 0.07%) 10.54s 10.72s
TFS - node (v8.9.0, x86)
Memory used 180,582k (± 0.02%) 180,539k (± 0.02%) -43k (- 0.02%) 180,466k 180,652k
Parse Time 1.30s (± 0.57%) 1.30s (± 0.81%) +0.00s (+ 0.08%) 1.29s 1.33s
Bind Time 0.70s (± 0.80%) 0.69s (± 0.69%) -0.00s (- 0.72%) 0.68s 0.70s
Check Time 4.50s (± 0.66%) 4.48s (± 0.60%) -0.02s (- 0.44%) 4.43s 4.57s
Emit Time 2.97s (± 1.02%) 2.94s (± 0.90%) -0.03s (- 0.91%) 2.89s 3.00s
Total Time 9.48s (± 0.56%) 9.42s (± 0.33%) -0.05s (- 0.56%) 9.37s 9.52s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory7 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
Benchmark Name Iterations
Current 30593 10
Baseline master 10

@jack-williams jack-williams force-pushed the narrow-non-declared-union branch from 356b91d to d798557 Compare November 20, 2019 18:04
@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 20, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at 1925a6c. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..30593

Metric master 30593 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 354,717k (± 0.02%) 356,571k (± 0.02%) +1,854k (+ 0.52%) 356,342k 356,789k
Parse Time 1.62s (± 0.45%) 1.63s (± 0.85%) +0.01s (+ 0.55%) 1.61s 1.67s
Bind Time 0.85s (± 0.58%) 0.87s (± 1.23%) +0.02s (+ 1.87%) 0.84s 0.89s
Check Time 4.52s (± 0.39%) 4.56s (± 0.46%) +0.04s (+ 0.93%) 4.53s 4.60s
Emit Time 5.24s (± 0.92%) 5.26s (± 0.79%) +0.02s (+ 0.32%) 5.17s 5.38s
Total Time 12.25s (± 0.53%) 12.33s (± 0.57%) +0.08s (+ 0.65%) 12.23s 12.53s
Monaco - node (v10.16.3, x64)
Memory used 365,966k (± 0.02%) 366,115k (± 0.02%) +149k (+ 0.04%) 365,922k 366,214k
Parse Time 1.26s (± 0.71%) 1.26s (± 0.65%) -0.01s (- 0.40%) 1.24s 1.28s
Bind Time 0.75s (± 0.65%) 0.76s (± 0.39%) +0.00s (+ 0.53%) 0.75s 0.76s
Check Time 4.65s (± 0.47%) 4.69s (± 0.49%) +0.04s (+ 0.82%) 4.65s 4.74s
Emit Time 2.95s (± 0.72%) 2.96s (± 0.66%) +0.00s (+ 0.10%) 2.93s 3.01s
Total Time 9.62s (± 0.42%) 9.66s (± 0.40%) +0.04s (+ 0.41%) 9.59s 9.75s
TFS - node (v10.16.3, x64)
Memory used 321,675k (± 0.02%) 321,895k (± 0.02%) +220k (+ 0.07%) 321,767k 322,039k
Parse Time 0.96s (± 0.54%) 0.96s (± 0.97%) -0.00s (- 0.31%) 0.94s 0.98s
Bind Time 0.72s (± 1.47%) 0.72s (± 1.75%) -0.00s (- 0.55%) 0.69s 0.74s
Check Time 4.12s (± 0.46%) 4.14s (± 0.92%) +0.02s (+ 0.46%) 4.09s 4.24s
Emit Time 3.05s (± 0.55%) 3.05s (± 0.84%) -0.00s (- 0.07%) 2.99s 3.09s
Total Time 8.86s (± 0.35%) 8.87s (± 0.61%) +0.01s (+ 0.15%) 8.75s 8.99s
Angular - node (v12.1.0, x64)
Memory used 330,300k (± 0.03%) 331,906k (± 0.08%) +1,607k (+ 0.49%) 330,920k 332,262k
Parse Time 1.58s (± 0.53%) 1.59s (± 0.42%) +0.01s (+ 0.38%) 1.57s 1.60s
Bind Time 0.85s (± 0.40%) 0.86s (± 0.69%) +0.01s (+ 1.06%) 0.84s 0.87s
Check Time 4.45s (± 0.50%) 4.48s (± 0.45%) +0.03s (+ 0.74%) 4.44s 4.54s
Emit Time 5.48s (± 0.28%) 5.51s (± 0.41%) +0.03s (+ 0.55%) 5.47s 5.56s
Total Time 12.35s (± 0.15%) 12.44s (± 0.33%) +0.08s (+ 0.66%) 12.34s 12.55s
Monaco - node (v12.1.0, x64)
Memory used 345,644k (± 0.02%) 345,781k (± 0.01%) +138k (+ 0.04%) 345,690k 345,881k
Parse Time 1.23s (± 1.01%) 1.23s (± 0.50%) +0.00s (+ 0.33%) 1.22s 1.24s
Bind Time 0.73s (± 0.68%) 0.73s (± 0.41%) +0.01s (+ 0.83%) 0.73s 0.74s
Check Time 4.49s (± 0.51%) 4.54s (± 0.65%) +0.05s (+ 1.11%) 4.47s 4.60s
Emit Time 3.02s (± 0.93%) 3.01s (± 0.71%) -0.02s (- 0.56%) 2.96s 3.05s
Total Time 9.46s (± 0.57%) 9.51s (± 0.46%) +0.04s (+ 0.43%) 9.39s 9.57s
TFS - node (v12.1.0, x64)
Memory used 304,060k (± 0.02%) 304,316k (± 0.01%) +256k (+ 0.08%) 304,226k 304,394k
Parse Time 0.95s (± 0.78%) 0.95s (± 0.77%) -0.00s (- 0.21%) 0.93s 0.96s
Bind Time 0.69s (± 1.22%) 0.68s (± 0.65%) -0.01s (- 1.30%) 0.67s 0.69s
Check Time 4.06s (± 0.24%) 4.08s (± 0.27%) +0.03s (+ 0.62%) 4.06s 4.11s
Emit Time 3.11s (± 0.50%) 3.09s (± 0.91%) -0.02s (- 0.55%) 3.03s 3.15s
Total Time 8.81s (± 0.28%) 8.81s (± 0.37%) 0.00s ( 0.00%) 8.73s 8.89s
Angular - node (v8.9.0, x64)
Memory used 349,577k (± 0.01%) 351,261k (± 0.01%) +1,684k (+ 0.48%) 351,184k 351,333k
Parse Time 2.10s (± 0.42%) 2.12s (± 0.39%) +0.02s (+ 0.95%) 2.10s 2.13s
Bind Time 0.91s (± 1.09%) 0.92s (± 0.56%) +0.01s (+ 1.43%) 0.91s 0.93s
Check Time 5.27s (± 0.60%) 5.34s (± 0.48%) +0.07s (+ 1.42%) 5.29s 5.39s
Emit Time 6.16s (± 1.31%) 6.23s (± 1.36%) +0.07s (+ 1.12%) 6.05s 6.39s
Total Time 14.43s (± 0.71%) 14.61s (± 0.66%) +0.18s (+ 1.23%) 14.42s 14.82s
Monaco - node (v8.9.0, x64)
Memory used 363,742k (± 0.01%) 363,922k (± 0.01%) +180k (+ 0.05%) 363,835k 363,973k
Parse Time 1.56s (± 0.42%) 1.57s (± 0.64%) +0.01s (+ 0.58%) 1.55s 1.60s
Bind Time 0.93s (± 0.89%) 0.93s (± 0.56%) +0.00s (+ 0.32%) 0.92s 0.94s
Check Time 5.55s (± 0.75%) 5.65s (± 0.79%) +0.11s (+ 1.89%) 5.53s 5.76s
Emit Time 3.06s (± 0.63%) 3.05s (± 0.68%) -0.00s (- 0.13%) 2.98s 3.08s
Total Time 11.09s (± 0.42%) 11.20s (± 0.48%) +0.11s (+ 0.99%) 11.09s 11.35s
TFS - node (v8.9.0, x64)
Memory used 320,573k (± 0.01%) 320,847k (± 0.01%) +274k (+ 0.09%) 320,732k 320,924k
Parse Time 1.27s (± 0.35%) 1.27s (± 0.49%) +0.00s (+ 0.24%) 1.26s 1.28s
Bind Time 0.74s (± 0.65%) 0.74s (± 0.70%) +0.00s (+ 0.54%) 0.73s 0.75s
Check Time 4.72s (± 0.49%) 4.80s (± 0.57%) +0.08s (+ 1.74%) 4.74s 4.85s
Emit Time 3.25s (± 0.70%) 3.26s (± 0.55%) +0.02s (+ 0.59%) 3.23s 3.30s
Total Time 9.97s (± 0.38%) 10.08s (± 0.37%) +0.10s (+ 1.04%) 9.98s 10.14s
Angular - node (v8.9.0, x86)
Memory used 198,498k (± 0.02%) 199,401k (± 0.03%) +903k (+ 0.45%) 199,286k 199,520k
Parse Time 2.02s (± 0.52%) 2.06s (± 0.68%) +0.03s (+ 1.68%) 2.04s 2.09s
Bind Time 1.03s (± 1.43%) 1.02s (± 0.54%) -0.01s (- 0.97%) 1.01s 1.04s
Check Time 4.81s (± 0.72%) 4.83s (± 0.84%) +0.02s (+ 0.48%) 4.76s 4.91s
Emit Time 5.97s (± 0.70%) 6.08s (± 1.63%) +0.11s (+ 1.76%) 5.93s 6.41s
Total Time 13.84s (± 0.36%) 13.99s (± 0.86%) +0.15s (+ 1.08%) 13.76s 14.34s
Monaco - node (v8.9.0, x86)
Memory used 203,770k (± 0.01%) 203,872k (± 0.02%) +102k (+ 0.05%) 203,774k 203,951k
Parse Time 1.61s (± 0.75%) 1.61s (± 0.54%) +0.00s (+ 0.31%) 1.60s 1.63s
Bind Time 0.75s (± 0.69%) 0.75s (± 0.74%) +0.00s (+ 0.40%) 0.74s 0.76s
Check Time 5.39s (± 1.36%) 5.49s (± 0.34%) +0.10s (+ 1.82%) 5.45s 5.54s
Emit Time 2.92s (± 2.74%) 2.86s (± 0.69%) -0.06s (- 2.09%) 2.83s 2.90s
Total Time 10.67s (± 0.47%) 10.72s (± 0.21%) +0.04s (+ 0.42%) 10.66s 10.76s
TFS - node (v8.9.0, x86)
Memory used 180,574k (± 0.02%) 180,738k (± 0.01%) +164k (+ 0.09%) 180,677k 180,815k
Parse Time 1.31s (± 0.64%) 1.31s (± 0.82%) +0.01s (+ 0.46%) 1.29s 1.34s
Bind Time 0.70s (± 0.68%) 0.70s (± 0.68%) -0.00s (- 0.00%) 0.69s 0.71s
Check Time 4.49s (± 0.68%) 4.50s (± 0.50%) +0.02s (+ 0.42%) 4.47s 4.56s
Emit Time 2.97s (± 0.67%) 2.98s (± 1.07%) +0.01s (+ 0.34%) 2.91s 3.06s
Total Time 9.46s (± 0.38%) 9.49s (± 0.56%) +0.04s (+ 0.37%) 9.42s 9.65s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory7 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v10.16.3, x64)
  • node (v12.1.0, x64)
  • node (v8.9.0, x64)
  • node (v8.9.0, x86)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
Benchmark Name Iterations
Current 30593 10
Baseline master 10

@jack-williams
Copy link
Collaborator Author

@typescript-bot perf test this with recent CFA changes

@typescript-bot
Copy link
Collaborator

typescript-bot commented Nov 26, 2019

Heya @jack-williams, I've started to run the perf test suite on this PR at 0a037d0. You can monitor the build here. It should now contribute to this PR's status checks.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

@jack-williams
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..30593

Metric master 30593 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 354,741k (± 0.02%) 356,584k (± 0.02%) +1,843k (+ 0.52%) 356,352k 356,748k
Parse Time 1.62s (± 0.60%) 1.63s (± 0.51%) +0.01s (+ 0.31%) 1.61s 1.64s
Bind Time 0.86s (± 0.43%) 0.87s (± 0.66%) +0.00s (+ 0.58%) 0.86s 0.88s
Check Time 4.54s (± 0.50%) 4.53s (± 0.74%) -0.01s (- 0.20%) 4.48s 4.62s
Emit Time 5.28s (± 0.69%) 5.27s (± 0.91%) -0.01s (- 0.15%) 5.17s 5.37s
Total Time 12.30s (± 0.38%) 12.30s (± 0.54%) -0.00s (- 0.04%) 12.19s 12.48s
Monaco - node (v10.16.3, x64)
Memory used 366,053k (± 0.02%) 366,212k (± 0.02%) +159k (+ 0.04%) 366,077k 366,337k
Parse Time 1.27s (± 0.80%) 1.25s (± 0.61%) -0.01s (- 0.87%) 1.24s 1.27s
Bind Time 0.76s (± 0.48%) 0.76s (± 0.63%) +0.00s (+ 0.13%) 0.75s 0.77s
Check Time 4.67s (± 0.42%) 4.69s (± 0.55%) +0.02s (+ 0.41%) 4.60s 4.74s
Emit Time 2.95s (± 1.02%) 2.95s (± 0.87%) +0.00s (+ 0.17%) 2.90s 3.01s
Total Time 9.64s (± 0.43%) 9.65s (± 0.35%) +0.02s (+ 0.17%) 9.59s 9.74s
TFS - node (v10.16.3, x64)
Memory used 321,930k (± 0.02%) 322,166k (± 0.02%) +236k (+ 0.07%) 322,015k 322,336k
Parse Time 0.95s (± 0.62%) 0.96s (± 0.70%) +0.00s (+ 0.31%) 0.95s 0.98s
Bind Time 0.73s (± 0.94%) 0.72s (± 1.30%) -0.00s (- 0.41%) 0.70s 0.74s
Check Time 4.11s (± 0.62%) 4.13s (± 0.55%) +0.01s (+ 0.32%) 4.08s 4.18s
Emit Time 3.06s (± 0.74%) 3.03s (± 0.57%) -0.03s (- 0.91%) 3.00s 3.09s
Total Time 8.85s (± 0.50%) 8.84s (± 0.46%) -0.01s (- 0.14%) 8.76s 8.97s
Angular - node (v12.1.0, x64)
Memory used 330,398k (± 0.02%) 332,131k (± 0.02%) +1,733k (+ 0.52%) 331,990k 332,322k
Parse Time 1.57s (± 0.49%) 1.58s (± 0.62%) +0.01s (+ 0.45%) 1.56s 1.60s
Bind Time 0.85s (± 0.87%) 0.86s (± 0.69%) +0.01s (+ 0.71%) 0.84s 0.87s
Check Time 4.45s (± 0.16%) 4.46s (± 0.70%) +0.00s (+ 0.09%) 4.37s 4.50s
Emit Time 5.52s (± 1.34%) 5.47s (± 0.64%) -0.05s (- 0.85%) 5.38s 5.53s
Total Time 12.39s (± 0.65%) 12.36s (± 0.52%) -0.03s (- 0.23%) 12.16s 12.47s
Monaco - node (v12.1.0, x64)
Memory used 345,758k (± 0.01%) 345,966k (± 0.02%) +207k (+ 0.06%) 345,830k 346,097k
Parse Time 1.23s (± 0.61%) 1.23s (± 0.82%) +0.01s (+ 0.57%) 1.22s 1.27s
Bind Time 0.73s (± 0.76%) 0.73s (± 0.79%) +0.00s (+ 0.27%) 0.72s 0.74s
Check Time 4.50s (± 0.33%) 4.56s (± 0.47%) +0.06s (+ 1.42%) 4.50s 4.59s
Emit Time 3.02s (± 0.39%) 3.03s (± 0.78%) +0.01s (+ 0.46%) 2.97s 3.07s
Total Time 9.47s (± 0.20%) 9.56s (± 0.43%) +0.08s (+ 0.89%) 9.42s 9.62s
TFS - node (v12.1.0, x64)
Memory used 304,274k (± 0.02%) 304,514k (± 0.02%) +240k (+ 0.08%) 304,316k 304,663k
Parse Time 0.95s (± 0.72%) 0.96s (± 0.71%) +0.00s (+ 0.10%) 0.94s 0.97s
Bind Time 0.68s (± 0.73%) 0.69s (± 1.09%) +0.00s (+ 0.29%) 0.67s 0.70s
Check Time 4.05s (± 0.40%) 4.09s (± 0.52%) +0.05s (+ 1.16%) 4.05s 4.15s
Emit Time 3.11s (± 0.77%) 3.10s (± 0.26%) -0.01s (- 0.39%) 3.09s 3.12s
Total Time 8.80s (± 0.27%) 8.84s (± 0.31%) +0.04s (+ 0.45%) 8.77s 8.91s
Angular - node (v8.9.0, x64)
Memory used 349,642k (± 0.01%) 351,369k (± 0.01%) +1,727k (+ 0.49%) 351,271k 351,469k
Parse Time 2.09s (± 0.45%) 2.11s (± 0.41%) +0.02s (+ 0.91%) 2.09s 2.13s
Bind Time 0.91s (± 0.75%) 0.92s (± 0.48%) +0.02s (+ 1.77%) 0.91s 0.93s
Check Time 5.32s (± 0.32%) 5.33s (± 0.55%) +0.02s (+ 0.30%) 5.25s 5.39s
Emit Time 6.27s (± 0.73%) 6.26s (± 1.01%) -0.00s (- 0.03%) 6.14s 6.45s
Total Time 14.59s (± 0.37%) 14.63s (± 0.49%) +0.04s (+ 0.31%) 14.54s 14.82s
Monaco - node (v8.9.0, x64)
Memory used 363,895k (± 0.01%) 364,065k (± 0.01%) +169k (+ 0.05%) 363,928k 364,139k
Parse Time 1.56s (± 0.63%) 1.56s (± 0.38%) +0.00s (+ 0.13%) 1.55s 1.58s
Bind Time 0.93s (± 0.91%) 0.93s (± 0.71%) -0.00s (- 0.11%) 0.92s 0.94s
Check Time 5.56s (± 0.59%) 5.62s (± 0.58%) +0.06s (+ 1.08%) 5.57s 5.73s
Emit Time 3.06s (± 0.66%) 3.06s (± 0.61%) +0.01s (+ 0.20%) 3.04s 3.13s
Total Time 11.11s (± 0.40%) 11.18s (± 0.32%) +0.07s (+ 0.64%) 11.11s 11.28s
TFS - node (v8.9.0, x64)
Memory used 320,894k (± 0.01%) 321,142k (± 0.01%) +248k (+ 0.08%) 321,071k 321,204k
Parse Time 1.27s (± 0.39%) 1.27s (± 0.54%) 0.00s ( 0.00%) 1.25s 1.28s
Bind Time 0.74s (± 0.95%) 0.74s (± 0.46%) +0.00s (+ 0.27%) 0.74s 0.75s
Check Time 4.73s (± 0.38%) 4.79s (± 0.47%) +0.07s (+ 1.40%) 4.74s 4.84s
Emit Time 3.21s (± 0.43%) 3.22s (± 0.57%) +0.01s (+ 0.34%) 3.18s 3.27s
Total Time 9.94s (± 0.30%) 10.02s (± 0.40%) +0.08s (+ 0.80%) 9.93s 10.10s
Angular - node (v8.9.0, x86)
Memory used 198,609k (± 0.02%) 199,520k (± 0.02%) +911k (+ 0.46%) 199,422k 199,623k
Parse Time 2.03s (± 0.88%) 2.05s (± 0.81%) +0.02s (+ 0.79%) 2.02s 2.09s
Bind Time 1.05s (± 1.43%) 1.02s (± 0.86%) -0.03s (- 2.95%) 1.01s 1.05s
Check Time 4.83s (± 0.63%) 4.84s (± 0.53%) +0.01s (+ 0.17%) 4.77s 4.90s
Emit Time 6.12s (± 1.09%) 6.12s (± 1.54%) +0.00s (+ 0.03%) 5.96s 6.37s
Total Time 14.03s (± 0.46%) 14.03s (± 0.85%) -0.00s (- 0.02%) 13.84s 14.35s
Monaco - node (v8.9.0, x86)
Memory used 203,872k (± 0.03%) 203,973k (± 0.02%) +101k (+ 0.05%) 203,893k 204,068k
Parse Time 1.61s (± 0.61%) 1.61s (± 0.73%) -0.00s (- 0.19%) 1.59s 1.65s
Bind Time 0.76s (± 1.41%) 0.75s (± 0.78%) -0.01s (- 1.06%) 0.74s 0.76s
Check Time 5.42s (± 0.54%) 5.42s (± 1.22%) +0.00s (+ 0.07%) 5.16s 5.48s
Emit Time 2.91s (± 0.99%) 2.91s (± 2.77%) -0.00s (- 0.07%) 2.85s 3.23s
Total Time 10.69s (± 0.27%) 10.69s (± 0.29%) -0.01s (- 0.07%) 10.63s 10.75s
TFS - node (v8.9.0, x86)
Memory used 180,831k (± 0.01%) 180,987k (± 0.02%) +157k (+ 0.09%) 180,906k 181,059k
Parse Time 1.31s (± 0.81%) 1.31s (± 0.69%) -0.00s (- 0.23%) 1.30s 1.34s
Bind Time 0.70s (± 0.74%) 0.70s (± 1.07%) -0.00s (- 0.29%) 0.69s 0.72s
Check Time 4.49s (± 0.52%) 4.51s (± 0.57%) +0.02s (+ 0.51%) 4.46s 4.58s
Emit Time 2.98s (± 1.16%) 2.98s (± 0.51%) +0.00s (+ 0.00%) 2.95s 3.02s
Total Time 9.48s (± 0.50%) 9.50s (± 0.39%) +0.02s (+ 0.24%) 9.41s 9.58s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-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 (v8.9.0, x64)
  • node (v8.9.0, x86)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v8.9.0, x64)
  • Angular - node (v8.9.0, x86)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v8.9.0, x64)
  • Monaco - node (v8.9.0, x86)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v8.9.0, x64)
  • TFS - node (v8.9.0, x86)
Benchmark Name Iterations
Current 30593 10
Baseline master 10

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.

Unknown types narrowed to a union won't narrow further
7 participants