Skip to content

Add IteratorVoidReturnResult for optional 'value' when done - #40825

Closed
Ron Buckton (rbuckton) wants to merge 1 commit into
mainfrom
iteratorVoidResult
Closed

Add IteratorVoidReturnResult for optional 'value' when done#40825
Ron Buckton (rbuckton) wants to merge 1 commit into
mainfrom
iteratorVoidResult

Conversation

@rbuckton

Copy link
Copy Markdown
Contributor

This is an alternative to #40823 to verify whether introducing an optional IteratorVoidReturnResult to the IteratorResult union (that only applies when TReturn contains void) will cause any issues with assignability in our user tests.

Fixes #38479

@rbuckton

Copy link
Copy Markdown
Contributor Author

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 29, 2020

Copy link
Copy Markdown
Contributor

Heya Ron Buckton (@rbuckton), I've started to run the parallelized community code test suite on this PR at 52a09b6. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 29, 2020

Copy link
Copy Markdown
Contributor

Heya Ron Buckton (@rbuckton), I've started to run the extended test suite on this PR at 52a09b6. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 29, 2020

Copy link
Copy Markdown
Contributor

Heya Ron Buckton (@rbuckton), I've started to run the parallelized Definitely Typed test suite on this PR at 52a09b6. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Sep 29, 2020

Copy link
Copy Markdown
Contributor

Heya Ron Buckton (@rbuckton), I've started to run the perf test suite on this PR at 52a09b6. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Ron Buckton (@rbuckton)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..40825

Metric master 40825 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 349,616k (± 0.01%) 349,574k (± 0.02%) -42k (- 0.01%) 349,350k 349,692k
Parse Time 2.00s (± 0.26%) 2.00s (± 0.50%) -0.00s (- 0.15%) 1.98s 2.02s
Bind Time 0.82s (± 0.81%) 0.82s (± 0.57%) -0.00s (- 0.36%) 0.81s 0.83s
Check Time 4.90s (± 0.77%) 4.88s (± 0.34%) -0.03s (- 0.51%) 4.85s 4.92s
Emit Time 5.19s (± 0.52%) 5.17s (± 0.48%) -0.02s (- 0.37%) 5.13s 5.24s
Total Time 12.91s (± 0.43%) 12.87s (± 0.38%) -0.05s (- 0.37%) 12.81s 13.02s
Monaco - node (v10.16.3, x64)
Memory used 354,341k (± 0.03%) 354,289k (± 0.03%) -52k (- 0.01%) 354,038k 354,545k
Parse Time 1.56s (± 0.52%) 1.57s (± 0.44%) +0.00s (+ 0.32%) 1.55s 1.58s
Bind Time 0.71s (± 0.52%) 0.71s (± 0.67%) -0.00s (- 0.28%) 0.70s 0.72s
Check Time 5.07s (± 0.61%) 5.04s (± 0.63%) -0.03s (- 0.51%) 4.99s 5.15s
Emit Time 2.76s (± 0.86%) 2.76s (± 0.69%) -0.00s (- 0.07%) 2.71s 2.81s
Total Time 10.10s (± 0.49%) 10.08s (± 0.36%) -0.02s (- 0.23%) 10.01s 10.19s
TFS - node (v10.16.3, x64)
Memory used 307,541k (± 0.04%) 307,607k (± 0.02%) +66k (+ 0.02%) 307,472k 307,779k
Parse Time 1.21s (± 0.56%) 1.21s (± 0.78%) 0.00s ( 0.00%) 1.20s 1.24s
Bind Time 0.67s (± 0.99%) 0.67s (± 0.44%) -0.00s (- 0.15%) 0.67s 0.68s
Check Time 4.54s (± 0.49%) 4.53s (± 0.49%) -0.01s (- 0.13%) 4.49s 4.60s
Emit Time 2.90s (± 1.00%) 2.89s (± 0.83%) -0.00s (- 0.17%) 2.84s 2.95s
Total Time 9.33s (± 0.46%) 9.31s (± 0.44%) -0.01s (- 0.13%) 9.24s 9.44s
material-ui - node (v10.16.3, x64)
Memory used 489,001k (± 0.01%) 488,985k (± 0.01%) -16k (- 0.00%) 488,802k 489,177k
Parse Time 1.98s (± 0.45%) 1.98s (± 0.61%) -0.00s (- 0.20%) 1.95s 2.00s
Bind Time 0.65s (± 0.86%) 0.65s (± 0.53%) -0.00s (- 0.15%) 0.64s 0.65s
Check Time 13.50s (± 0.78%) 13.36s (± 0.49%) -0.14s (- 1.07%) 13.26s 13.54s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.14s (± 0.64%) 15.99s (± 0.40%) -0.15s (- 0.94%) 15.88s 16.13s
Angular - node (v12.1.0, x64)
Memory used 326,839k (± 0.03%) 326,836k (± 0.03%) -3k (- 0.00%) 326,654k 327,061k
Parse Time 1.99s (± 0.51%) 1.99s (± 0.42%) +0.00s (+ 0.20%) 1.98s 2.02s
Bind Time 0.81s (± 0.64%) 0.81s (± 0.45%) -0.00s (- 0.37%) 0.80s 0.81s
Check Time 4.80s (± 0.57%) 4.80s (± 0.49%) -0.00s (- 0.04%) 4.74s 4.84s
Emit Time 5.36s (± 0.68%) 5.39s (± 1.27%) +0.04s (+ 0.65%) 5.32s 5.64s
Total Time 12.95s (± 0.46%) 12.99s (± 0.62%) +0.04s (+ 0.28%) 12.85s 13.28s
Monaco - node (v12.1.0, x64)
Memory used 336,492k (± 0.01%) 336,513k (± 0.02%) +21k (+ 0.01%) 336,409k 336,673k
Parse Time 1.54s (± 0.86%) 1.54s (± 0.89%) +0.01s (+ 0.39%) 1.52s 1.58s
Bind Time 0.70s (± 1.84%) 0.69s (± 0.80%) -0.01s (- 1.14%) 0.68s 0.71s
Check Time 4.87s (± 0.47%) 4.84s (± 0.36%) -0.03s (- 0.66%) 4.80s 4.87s
Emit Time 2.83s (± 0.76%) 2.81s (± 0.99%) -0.02s (- 0.60%) 2.77s 2.90s
Total Time 9.93s (± 0.47%) 9.88s (± 0.26%) -0.05s (- 0.54%) 9.80s 9.93s
TFS - node (v12.1.0, x64)
Memory used 291,819k (± 0.02%) 291,835k (± 0.03%) +17k (+ 0.01%) 291,676k 291,959k
Parse Time 1.23s (± 0.66%) 1.23s (± 0.63%) +0.00s (+ 0.08%) 1.21s 1.24s
Bind Time 0.64s (± 0.90%) 0.64s (± 0.73%) -0.00s (- 0.47%) 0.63s 0.65s
Check Time 4.44s (± 0.36%) 4.43s (± 0.62%) -0.01s (- 0.20%) 4.38s 4.52s
Emit Time 2.94s (± 0.96%) 2.91s (± 0.85%) -0.02s (- 0.82%) 2.87s 2.98s
Total Time 9.25s (± 0.42%) 9.22s (± 0.40%) -0.03s (- 0.35%) 9.13s 9.28s
material-ui - node (v12.1.0, x64)
Memory used 466,976k (± 0.05%) 466,888k (± 0.08%) -88k (- 0.02%) 465,940k 467,240k
Parse Time 2.00s (± 0.38%) 2.00s (± 0.47%) 0.00s ( 0.00%) 1.99s 2.02s
Bind Time 0.64s (± 0.58%) 0.64s (± 0.77%) +0.00s (+ 0.16%) 0.63s 0.65s
Check Time 12.01s (± 0.69%) 12.02s (± 1.02%) +0.01s (+ 0.09%) 11.82s 12.45s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.65s (± 0.59%) 14.66s (± 0.83%) +0.02s (+ 0.11%) 14.48s 15.09s
Angular - node (v8.9.0, x64)
Memory used 346,316k (± 0.02%) 346,357k (± 0.02%) +41k (+ 0.01%) 346,265k 346,495k
Parse Time 2.55s (± 0.37%) 2.55s (± 0.42%) +0.01s (+ 0.27%) 2.53s 2.58s
Bind Time 0.86s (± 0.58%) 0.86s (± 1.10%) -0.00s (- 0.12%) 0.84s 0.88s
Check Time 5.54s (± 0.73%) 5.54s (± 0.49%) +0.01s (+ 0.09%) 5.49s 5.61s
Emit Time 6.21s (± 1.36%) 6.06s (± 1.48%) -0.15s (- 2.40%) 5.90s 6.26s
Total Time 15.17s (± 0.51%) 15.03s (± 0.66%) -0.14s (- 0.92%) 14.81s 15.25s
Monaco - node (v8.9.0, x64)
Memory used 355,579k (± 0.02%) 355,623k (± 0.02%) +45k (+ 0.01%) 355,486k 355,747k
Parse Time 1.90s (± 0.44%) 1.88s (± 0.34%) -0.01s (- 0.74%) 1.87s 1.89s
Bind Time 0.89s (± 0.82%) 0.89s (± 0.77%) -0.01s (- 0.67%) 0.88s 0.91s
Check Time 5.62s (± 0.55%) 5.60s (± 0.38%) -0.02s (- 0.32%) 5.55s 5.63s
Emit Time 3.31s (± 1.50%) 3.24s (± 1.25%) -0.07s (- 1.97%) 3.18s 3.34s
Total Time 11.71s (± 0.55%) 11.61s (± 0.41%) -0.10s (- 0.90%) 11.49s 11.74s
TFS - node (v8.9.0, x64)
Memory used 309,276k (± 0.01%) 309,276k (± 0.03%) -1k (- 0.00%) 309,122k 309,507k
Parse Time 1.56s (± 0.32%) 1.54s (± 0.44%) -0.01s (- 0.77%) 1.53s 1.56s
Bind Time 0.68s (± 0.95%) 0.68s (± 0.70%) -0.00s (- 0.15%) 0.67s 0.69s
Check Time 5.30s (± 0.59%) 5.28s (± 0.46%) -0.02s (- 0.30%) 5.20s 5.32s
Emit Time 2.93s (± 0.80%) 2.94s (± 0.65%) +0.01s (+ 0.31%) 2.88s 2.98s
Total Time 10.46s (± 0.28%) 10.44s (± 0.34%) -0.02s (- 0.20%) 10.31s 10.48s
material-ui - node (v8.9.0, x64)
Memory used 493,347k (± 0.02%) 493,394k (± 0.01%) +47k (+ 0.01%) 493,292k 493,563k
Parse Time 2.40s (± 0.36%) 2.40s (± 0.65%) +0.00s (+ 0.12%) 2.38s 2.44s
Bind Time 0.81s (± 1.17%) 0.82s (± 0.94%) +0.01s (+ 0.86%) 0.80s 0.84s
Check Time 17.92s (± 0.84%) 17.83s (± 0.86%) -0.09s (- 0.49%) 17.52s 18.14s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.14s (± 0.68%) 21.06s (± 0.68%) -0.08s (- 0.37%) 20.74s 21.35s
Angular - node (v8.9.0, x86)
Memory used 198,593k (± 0.02%) 198,609k (± 0.03%) +16k (+ 0.01%) 198,489k 198,697k
Parse Time 2.48s (± 0.81%) 2.46s (± 0.58%) -0.02s (- 0.69%) 2.42s 2.49s
Bind Time 1.00s (± 0.93%) 1.00s (± 1.22%) +0.00s (+ 0.10%) 0.98s 1.04s
Check Time 4.99s (± 0.61%) 5.00s (± 0.31%) +0.01s (+ 0.18%) 4.97s 5.05s
Emit Time 5.92s (± 0.90%) 5.94s (± 0.75%) +0.02s (+ 0.32%) 5.84s 6.04s
Total Time 14.39s (± 0.56%) 14.40s (± 0.33%) +0.01s (+ 0.06%) 14.27s 14.50s
Monaco - node (v8.9.0, x86)
Memory used 201,394k (± 0.01%) 201,407k (± 0.02%) +13k (+ 0.01%) 201,313k 201,475k
Parse Time 1.93s (± 0.81%) 1.92s (± 0.90%) -0.01s (- 0.41%) 1.88s 1.97s
Bind Time 0.71s (± 0.91%) 0.71s (± 0.70%) -0.00s (- 0.28%) 0.69s 0.71s
Check Time 5.46s (± 1.24%) 5.47s (± 1.24%) +0.01s (+ 0.16%) 5.37s 5.64s
Emit Time 3.03s (± 3.23%) 2.99s (± 3.32%) -0.05s (- 1.52%) 2.72s 3.10s
Total Time 11.13s (± 0.64%) 11.08s (± 0.50%) -0.05s (- 0.41%) 10.94s 11.21s
TFS - node (v8.9.0, x86)
Memory used 176,811k (± 0.02%) 176,830k (± 0.03%) +19k (+ 0.01%) 176,715k 176,949k
Parse Time 1.58s (± 0.84%) 1.59s (± 1.39%) +0.01s (+ 0.38%) 1.56s 1.67s
Bind Time 0.65s (± 1.23%) 0.65s (± 0.90%) -0.00s (- 0.15%) 0.64s 0.66s
Check Time 4.79s (± 0.56%) 4.83s (± 0.65%) +0.04s (+ 0.75%) 4.75s 4.92s
Emit Time 2.80s (± 1.10%) 2.83s (± 1.55%) +0.03s (+ 1.07%) 2.75s 2.94s
Total Time 9.82s (± 0.40%) 9.89s (± 0.57%) +0.08s (+ 0.79%) 9.74s 10.01s
material-ui - node (v8.9.0, x86)
Memory used 277,775k (± 0.01%) 277,814k (± 0.01%) +39k (+ 0.01%) 277,750k 277,893k
Parse Time 2.46s (± 0.82%) 2.46s (± 0.61%) -0.00s (- 0.00%) 2.43s 2.51s
Bind Time 0.71s (± 5.86%) 0.74s (± 6.14%) +0.03s (+ 3.65%) 0.67s 0.87s
Check Time 16.38s (± 0.69%) 16.42s (± 0.80%) +0.04s (+ 0.24%) 16.24s 16.86s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 19.55s (± 0.74%) 19.61s (± 0.79%) +0.06s (+ 0.32%) 19.42s 20.08s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory1 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)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v8.9.0, x64)
  • material-ui - node (v8.9.0, x86)
Benchmark Name Iterations
Current 40825 10
Baseline master 10

@typescript-bot

Copy link
Copy Markdown
Contributor

The user suite test run you requested has finished and failed. I've opened a PR with the baseline diff from master.

@rbuckton

Copy link
Copy Markdown
Contributor Author

These are the exact cases that illustrate why I'm not certain this approach will work compared to #40823:

https://github.com/typescript-bot/TypeScript/pull/88/files#diff-f408a44c43eeedd5c1ee6356b6cda8b2

@sandersn Nathan Shively-Sanders (sandersn) added the Experiment A fork with an experimental idea which might not make it into master label Oct 9, 2020
@sandersn

Copy link
Copy Markdown
Member

This experiment is pretty old, so I'm going to close it to reduce the number of open PRs.

@microsoft Microsoft (microsoft) locked as resolved and limited conversation to collaborators Oct 21, 2025
@jakebailey
Jake Bailey (jakebailey) deleted the iteratorVoidResult branch August 28, 2026 19:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: Team Experiment A fork with an experimental idea which might not make it into master 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.

IteratorResult<T> definition conflicts with the JS spec

3 participants