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

Add 'T | PromiseLike<T>' inference from awaited types #37615

Closed
wants to merge 4 commits into from

Conversation

rbuckton
Copy link
Member

This re-introduces the T | PromiseLike<T> inference heuristic previously added in the awaited type PR. This heuristic improves type inference for cases where we are inferring to a union consisting of a single type variable T and one or more Promise-like types whose "promised type" (i.e., the type of the value parameter to the onfulfilled callback) is precisely T. This primarily impacts inference for cases like Promise.resolve and Promise#then:

declare const p4: Promise<number> | Promise<string>;

// infers `number | string`
const p5 = Promise.resolve(p4);

One minor change vs. the implementation in the awaited types implementation is that this version detects unions with more than two constituents (i.e., T | PromiseLike<T> | Promise<T>) as long as all of the constituents are essentially promises for T.

@rbuckton
Copy link
Member Author

@typescript-bot perf test
@typescript-bot run dt
@typescript-bot test this
@typescript-bot user test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2020

Heya @rbuckton, I've started to run the parallelized community code test suite on this PR at 39eb820. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2020

Heya @rbuckton, I've started to run the perf test suite on this PR at 39eb820. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2020

Heya @rbuckton, I've started to run the extended test suite on this PR at 39eb820. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 26, 2020

Heya @rbuckton, I've started to run the parallelized Definitely Typed test suite on this PR at 39eb820. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

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

@typescript-bot
Copy link
Collaborator

@rbuckton
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..37615

Metric master 37615 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 327,507k (± 0.03%) 326,883k (± 0.03%) -624k (- 0.19%) 326,531k 327,041k
Parse Time 1.64s (± 0.47%) 1.63s (± 0.34%) -0.01s (- 0.43%) 1.62s 1.64s
Bind Time 0.90s (± 0.56%) 0.89s (± 0.65%) -0.01s (- 0.89%) 0.87s 0.90s
Check Time 4.77s (± 0.40%) 4.75s (± 0.45%) -0.02s (- 0.31%) 4.70s 4.79s
Emit Time 5.32s (± 0.83%) 5.32s (± 0.61%) +0.01s (+ 0.13%) 5.25s 5.41s
Total Time 12.62s (± 0.33%) 12.59s (± 0.30%) -0.02s (- 0.17%) 12.49s 12.66s
Monaco - node (v10.16.3, x64)
Memory used 327,108k (± 0.01%) 327,086k (± 0.02%) -22k (- 0.01%) 326,976k 327,218k
Parse Time 1.26s (± 0.47%) 1.27s (± 0.54%) +0.00s (+ 0.16%) 1.25s 1.28s
Bind Time 0.77s (± 0.44%) 0.77s (± 0.47%) +0.00s (+ 0.13%) 0.77s 0.78s
Check Time 4.74s (± 0.48%) 4.75s (± 0.37%) +0.01s (+ 0.23%) 4.71s 4.78s
Emit Time 2.92s (± 0.77%) 2.92s (± 0.49%) -0.01s (- 0.31%) 2.88s 2.94s
Total Time 9.70s (± 0.41%) 9.71s (± 0.34%) +0.01s (+ 0.06%) 9.64s 9.76s
TFS - node (v10.16.3, x64)
Memory used 291,994k (± 0.03%) 291,991k (± 0.02%) -2k (- 0.00%) 291,888k 292,088k
Parse Time 0.96s (± 0.77%) 0.96s (± 0.77%) 0.00s ( 0.00%) 0.94s 0.98s
Bind Time 0.74s (± 0.80%) 0.74s (± 0.95%) -0.00s (- 0.40%) 0.73s 0.76s
Check Time 4.27s (± 0.47%) 4.28s (± 0.56%) +0.00s (+ 0.02%) 4.22s 4.34s
Emit Time 3.07s (± 0.79%) 3.04s (± 0.92%) -0.03s (- 1.07%) 2.97s 3.10s
Total Time 9.05s (± 0.40%) 9.02s (± 0.35%) -0.03s (- 0.34%) 8.92s 9.08s
material-ui - node (v10.16.3, x64)
Memory used 452,833k (± 0.01%) 452,522k (± 0.01%) -311k (- 0.07%) 452,420k 452,667k
Parse Time 1.78s (± 0.28%) 1.77s (± 0.42%) -0.01s (- 0.34%) 1.75s 1.78s
Bind Time 0.68s (± 0.87%) 0.68s (± 0.69%) -0.00s (- 0.58%) 0.67s 0.69s
Check Time 13.63s (± 0.48%) 13.63s (± 0.70%) -0.00s (- 0.01%) 13.48s 13.96s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.09s (± 0.43%) 16.08s (± 0.58%) -0.01s (- 0.07%) 15.95s 16.41s
Angular - node (v12.1.0, x64)
Memory used 303,172k (± 0.08%) 302,531k (± 0.09%) -641k (- 0.21%) 301,503k 302,766k
Parse Time 1.58s (± 0.43%) 1.58s (± 0.63%) -0.00s (- 0.06%) 1.57s 1.61s
Bind Time 0.87s (± 0.68%) 0.87s (± 0.77%) -0.01s (- 0.80%) 0.85s 0.88s
Check Time 4.65s (± 0.58%) 4.64s (± 0.47%) -0.01s (- 0.17%) 4.59s 4.68s
Emit Time 5.49s (± 0.92%) 5.46s (± 0.92%) -0.02s (- 0.42%) 5.38s 5.61s
Total Time 12.60s (± 0.58%) 12.56s (± 0.47%) -0.04s (- 0.31%) 12.46s 12.71s
Monaco - node (v12.1.0, x64)
Memory used 307,024k (± 0.02%) 307,043k (± 0.02%) +19k (+ 0.01%) 306,908k 307,183k
Parse Time 1.22s (± 0.41%) 1.21s (± 0.48%) -0.01s (- 0.41%) 1.20s 1.22s
Bind Time 0.75s (± 0.86%) 0.74s (± 0.75%) -0.01s (- 1.33%) 0.73s 0.75s
Check Time 4.56s (± 0.46%) 4.55s (± 0.19%) -0.00s (- 0.09%) 4.53s 4.57s
Emit Time 2.95s (± 0.63%) 2.95s (± 0.75%) +0.00s (+ 0.10%) 2.92s 3.00s
Total Time 9.47s (± 0.31%) 9.46s (± 0.28%) -0.01s (- 0.14%) 9.39s 9.51s
TFS - node (v12.1.0, x64)
Memory used 274,268k (± 0.03%) 274,236k (± 0.01%) -32k (- 0.01%) 274,136k 274,342k
Parse Time 0.94s (± 0.71%) 0.94s (± 0.85%) +0.00s (+ 0.21%) 0.93s 0.96s
Bind Time 0.70s (± 1.04%) 0.70s (± 0.74%) -0.00s (- 0.43%) 0.69s 0.71s
Check Time 4.18s (± 0.48%) 4.18s (± 0.27%) -0.00s (- 0.07%) 4.16s 4.21s
Emit Time 3.10s (± 0.88%) 3.09s (± 0.84%) -0.01s (- 0.32%) 3.03s 3.16s
Total Time 8.92s (± 0.38%) 8.91s (± 0.32%) -0.01s (- 0.15%) 8.85s 8.98s
material-ui - node (v12.1.0, x64)
Memory used 430,310k (± 0.01%) 430,045k (± 0.01%) -265k (- 0.06%) 429,893k 430,143k
Parse Time 1.76s (± 0.35%) 1.75s (± 0.52%) -0.01s (- 0.45%) 1.72s 1.77s
Bind Time 0.63s (± 0.94%) 0.63s (± 0.78%) -0.00s (- 0.00%) 0.63s 0.65s
Check Time 12.12s (± 0.49%) 12.09s (± 0.32%) -0.04s (- 0.31%) 12.00s 12.17s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.52s (± 0.41%) 14.47s (± 0.27%) -0.05s (- 0.32%) 14.39s 14.56s
Angular - node (v8.9.0, x64)
Memory used 322,595k (± 0.02%) 321,972k (± 0.02%) -623k (- 0.19%) 321,880k 322,083k
Parse Time 2.12s (± 0.47%) 2.11s (± 0.23%) -0.01s (- 0.52%) 2.10s 2.12s
Bind Time 0.92s (± 0.43%) 0.93s (± 1.55%) +0.01s (+ 0.76%) 0.91s 0.98s
Check Time 5.42s (± 1.40%) 5.41s (± 1.30%) -0.01s (- 0.20%) 5.19s 5.51s
Emit Time 6.29s (± 1.95%) 6.25s (± 1.75%) -0.04s (- 0.57%) 6.13s 6.54s
Total Time 14.75s (± 0.69%) 14.70s (± 0.42%) -0.05s (- 0.35%) 14.61s 14.89s
Monaco - node (v8.9.0, x64)
Memory used 325,507k (± 0.01%) 325,486k (± 0.01%) -20k (- 0.01%) 325,377k 325,592k
Parse Time 1.55s (± 0.43%) 1.55s (± 0.58%) +0.00s (+ 0.06%) 1.53s 1.57s
Bind Time 0.90s (± 0.89%) 0.90s (± 1.65%) +0.01s (+ 0.67%) 0.88s 0.96s
Check Time 5.35s (± 0.59%) 5.34s (± 0.79%) -0.01s (- 0.26%) 5.21s 5.43s
Emit Time 3.50s (± 0.44%) 3.50s (± 0.66%) +0.01s (+ 0.23%) 3.45s 3.56s
Total Time 11.29s (± 0.39%) 11.29s (± 0.33%) 0.00s ( 0.00%) 11.18s 11.36s
TFS - node (v8.9.0, x64)
Memory used 291,343k (± 0.02%) 291,360k (± 0.02%) +16k (+ 0.01%) 291,269k 291,499k
Parse Time 1.25s (± 0.38%) 1.26s (± 0.37%) +0.01s (+ 0.80%) 1.25s 1.27s
Bind Time 0.74s (± 0.67%) 0.75s (± 0.69%) +0.01s (+ 0.81%) 0.74s 0.76s
Check Time 4.92s (± 1.52%) 4.83s (± 1.27%) -0.09s (- 1.91%) 4.72s 5.05s
Emit Time 3.23s (± 2.55%) 3.34s (± 1.77%) +0.11s (+ 3.38%) 3.12s 3.40s
Total Time 10.15s (± 0.35%) 10.18s (± 0.18%) +0.03s (+ 0.29%) 10.13s 10.21s
material-ui - node (v8.9.0, x64)
Memory used 455,433k (± 0.01%) 455,185k (± 0.01%) -248k (- 0.05%) 455,053k 455,284k
Parse Time 2.11s (± 0.42%) 2.11s (± 0.57%) +0.00s (+ 0.14%) 2.10s 2.15s
Bind Time 0.82s (± 1.33%) 0.82s (± 1.25%) +0.00s (+ 0.12%) 0.80s 0.84s
Check Time 17.75s (± 0.44%) 17.67s (± 0.93%) -0.08s (- 0.43%) 17.26s 18.08s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.68s (± 0.39%) 20.60s (± 0.80%) -0.07s (- 0.35%) 20.19s 20.99s
Angular - node (v8.9.0, x86)
Memory used 185,549k (± 0.02%) 185,300k (± 0.02%) -249k (- 0.13%) 185,199k 185,368k
Parse Time 2.06s (± 1.04%) 2.05s (± 0.55%) -0.01s (- 0.58%) 2.03s 2.09s
Bind Time 1.07s (± 0.32%) 1.07s (± 0.62%) +0.00s (+ 0.28%) 1.06s 1.09s
Check Time 5.00s (± 0.69%) 4.98s (± 0.42%) -0.02s (- 0.46%) 4.94s 5.03s
Emit Time 6.06s (± 1.49%) 6.05s (± 1.76%) -0.00s (- 0.07%) 5.93s 6.45s
Total Time 14.19s (± 0.84%) 14.16s (± 0.85%) -0.04s (- 0.27%) 13.99s 14.60s
Monaco - node (v8.9.0, x86)
Memory used 185,279k (± 0.02%) 185,277k (± 0.02%) -2k (- 0.00%) 185,193k 185,342k
Parse Time 1.59s (± 0.37%) 1.60s (± 0.50%) +0.00s (+ 0.25%) 1.58s 1.61s
Bind Time 0.76s (± 0.65%) 0.77s (± 1.13%) +0.00s (+ 0.39%) 0.75s 0.79s
Check Time 5.39s (± 0.37%) 5.40s (± 0.74%) +0.01s (+ 0.26%) 5.32s 5.51s
Emit Time 2.87s (± 0.82%) 2.88s (± 0.66%) +0.01s (+ 0.24%) 2.85s 2.92s
Total Time 10.62s (± 0.27%) 10.64s (± 0.45%) +0.03s (+ 0.24%) 10.55s 10.72s
TFS - node (v8.9.0, x86)
Memory used 166,747k (± 0.02%) 166,745k (± 0.02%) -2k (- 0.00%) 166,678k 166,798k
Parse Time 1.29s (± 0.69%) 1.29s (± 0.83%) +0.00s (+ 0.23%) 1.28s 1.33s
Bind Time 0.71s (± 1.38%) 0.71s (± 0.31%) -0.00s (- 0.42%) 0.70s 0.71s
Check Time 4.61s (± 0.69%) 4.62s (± 0.62%) +0.01s (+ 0.22%) 4.56s 4.67s
Emit Time 2.97s (± 0.81%) 2.98s (± 0.68%) +0.01s (+ 0.34%) 2.91s 3.02s
Total Time 9.57s (± 0.51%) 9.59s (± 0.43%) +0.02s (+ 0.19%) 9.47s 9.65s
material-ui - node (v8.9.0, x86)
Memory used 257,648k (± 0.01%) 257,542k (± 0.01%) -106k (- 0.04%) 257,438k 257,608k
Parse Time 2.19s (± 0.41%) 2.18s (± 0.58%) -0.01s (- 0.32%) 2.16s 2.21s
Bind Time 0.69s (± 1.16%) 0.69s (± 0.72%) -0.00s (- 0.29%) 0.68s 0.70s
Check Time 16.14s (± 0.51%) 16.18s (± 0.91%) +0.05s (+ 0.29%) 15.98s 16.60s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 19.01s (± 0.48%) 19.05s (± 0.76%) +0.04s (+ 0.21%) 18.84s 19.46s
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 37615 10
Baseline master 10

@rbuckton
Copy link
Member Author

rbuckton commented Mar 27, 2020

Hmm. The failing JQuery tests are falling afoul of union subtype reduction. The then method is declared with something like this:

then<ARD = never, AJD = never, ...>(
  doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase<ARD, AJD, ...> | Thenable<ARD> | ARD,
  failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase<ARF, ...> | Thenable<ARF> | ARF,
  progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase<ARP, ...> | Thenable<ANP> | ANP
): PromiseBase<ARD | ARF | ARP, AJD | AJF | AJP, ...>;

Since PromiseBase<ARD, AJD, ...> is assignable to Thenable<ARD>, we drop PromiseBase during subtype reduction, so its not available as a candidate for inference.

Upon further review this is not an issue with subtype reduction, but rather with this algorithm as it does not handle inference for the other type arguments to PromiseBase.

@rbuckton
Copy link
Member Author

@typescript-bot perf test
@typescript-bot run dt
@typescript-bot test this
@typescript-bot user test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 30, 2020

Heya @rbuckton, I've started to run the parallelized community code test suite on this PR at 3d2ac60. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 30, 2020

Heya @rbuckton, I've started to run the extended test suite on this PR at 3d2ac60. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 30, 2020

Heya @rbuckton, I've started to run the perf test suite on this PR at 3d2ac60. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 30, 2020

Heya @rbuckton, I've started to run the parallelized Definitely Typed test suite on this PR at 3d2ac60. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

@rbuckton
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..37615

Metric master 37615 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 327,590k (± 0.04%) 327,099k (± 0.03%) -491k (- 0.15%) 326,857k 327,307k
Parse Time 1.63s (± 0.41%) 1.63s (± 0.23%) +0.00s (+ 0.31%) 1.63s 1.64s
Bind Time 0.89s (± 0.50%) 0.89s (± 0.95%) -0.00s (- 0.34%) 0.87s 0.91s
Check Time 4.78s (± 0.60%) 4.78s (± 0.51%) +0.00s (+ 0.02%) 4.72s 4.83s
Emit Time 5.31s (± 0.39%) 5.33s (± 0.92%) +0.01s (+ 0.26%) 5.27s 5.49s
Total Time 12.62s (± 0.24%) 12.63s (± 0.49%) +0.01s (+ 0.09%) 12.52s 12.83s
Monaco - node (v10.16.3, x64)
Memory used 327,093k (± 0.02%) 327,158k (± 0.01%) +66k (+ 0.02%) 327,045k 327,250k
Parse Time 1.27s (± 0.63%) 1.27s (± 0.54%) -0.00s (- 0.16%) 1.25s 1.28s
Bind Time 0.77s (± 0.62%) 0.77s (± 0.44%) 0.00s ( 0.00%) 0.77s 0.78s
Check Time 4.75s (± 0.42%) 4.75s (± 0.36%) +0.01s (+ 0.13%) 4.71s 4.79s
Emit Time 2.93s (± 0.53%) 2.92s (± 0.62%) -0.02s (- 0.58%) 2.88s 2.96s
Total Time 9.72s (± 0.29%) 9.71s (± 0.28%) -0.01s (- 0.10%) 9.64s 9.75s
TFS - node (v10.16.3, x64)
Memory used 291,955k (± 0.02%) 291,934k (± 0.03%) -22k (- 0.01%) 291,772k 292,118k
Parse Time 0.96s (± 0.62%) 0.95s (± 0.79%) -0.00s (- 0.21%) 0.93s 0.97s
Bind Time 0.74s (± 0.80%) 0.75s (± 0.92%) +0.00s (+ 0.13%) 0.73s 0.76s
Check Time 4.28s (± 0.46%) 4.28s (± 0.48%) +0.00s (+ 0.02%) 4.22s 4.33s
Emit Time 3.07s (± 0.87%) 3.05s (± 0.79%) -0.02s (- 0.75%) 3.00s 3.09s
Total Time 9.05s (± 0.40%) 9.03s (± 0.36%) -0.02s (- 0.24%) 8.94s 9.10s
material-ui - node (v10.16.3, x64)
Memory used 452,823k (± 0.01%) 452,616k (± 0.01%) -207k (- 0.05%) 452,555k 452,698k
Parse Time 1.77s (± 0.52%) 1.78s (± 0.50%) +0.00s (+ 0.23%) 1.76s 1.80s
Bind Time 0.68s (± 0.54%) 0.68s (± 1.07%) -0.01s (- 1.02%) 0.66s 0.69s
Check Time 13.66s (± 0.55%) 13.66s (± 0.43%) +0.00s (+ 0.02%) 13.50s 13.77s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.12s (± 0.47%) 16.12s (± 0.35%) +0.00s (+ 0.00%) 15.96s 16.24s
Angular - node (v12.1.0, x64)
Memory used 303,164k (± 0.07%) 302,786k (± 0.02%) -378k (- 0.12%) 302,623k 302,896k
Parse Time 1.58s (± 0.69%) 1.58s (± 0.44%) +0.00s (+ 0.06%) 1.57s 1.59s
Bind Time 0.87s (± 1.65%) 0.88s (± 0.96%) +0.01s (+ 0.80%) 0.87s 0.91s
Check Time 4.64s (± 0.48%) 4.65s (± 0.45%) +0.01s (+ 0.30%) 4.59s 4.69s
Emit Time 5.49s (± 0.91%) 5.45s (± 0.52%) -0.04s (- 0.80%) 5.38s 5.49s
Total Time 12.58s (± 0.63%) 12.56s (± 0.41%) -0.02s (- 0.19%) 12.43s 12.65s
Monaco - node (v12.1.0, x64)
Memory used 307,088k (± 0.02%) 307,094k (± 0.02%) +6k (+ 0.00%) 306,981k 307,201k
Parse Time 1.21s (± 0.62%) 1.22s (± 0.37%) +0.01s (+ 0.91%) 1.21s 1.23s
Bind Time 0.74s (± 0.54%) 0.74s (± 0.46%) +0.00s (+ 0.27%) 0.74s 0.75s
Check Time 4.55s (± 0.30%) 4.56s (± 0.45%) +0.01s (+ 0.24%) 4.51s 4.62s
Emit Time 2.95s (± 0.49%) 2.96s (± 0.66%) +0.00s (+ 0.10%) 2.92s 3.00s
Total Time 9.45s (± 0.26%) 9.47s (± 0.39%) +0.02s (+ 0.26%) 9.39s 9.57s
TFS - node (v12.1.0, x64)
Memory used 274,302k (± 0.02%) 274,306k (± 0.02%) +4k (+ 0.00%) 274,201k 274,419k
Parse Time 0.94s (± 0.82%) 0.94s (± 0.74%) 0.00s ( 0.00%) 0.92s 0.95s
Bind Time 0.70s (± 0.52%) 0.71s (± 0.96%) +0.01s (+ 1.44%) 0.69s 0.72s
Check Time 4.17s (± 0.43%) 4.18s (± 0.51%) +0.01s (+ 0.36%) 4.13s 4.24s
Emit Time 3.08s (± 1.06%) 3.10s (± 1.16%) +0.02s (+ 0.71%) 3.02s 3.21s
Total Time 8.89s (± 0.49%) 8.94s (± 0.52%) +0.05s (+ 0.55%) 8.83s 9.04s
material-ui - node (v12.1.0, x64)
Memory used 430,333k (± 0.01%) 430,027k (± 0.01%) -306k (- 0.07%) 429,917k 430,145k
Parse Time 1.76s (± 0.43%) 1.76s (± 0.35%) +0.00s (+ 0.23%) 1.75s 1.77s
Bind Time 0.63s (± 1.11%) 0.63s (± 0.54%) +0.00s (+ 0.64%) 0.63s 0.64s
Check Time 12.07s (± 0.17%) 12.12s (± 0.45%) +0.05s (+ 0.41%) 12.04s 12.26s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.46s (± 0.14%) 14.51s (± 0.37%) +0.06s (+ 0.39%) 14.43s 14.65s
Angular - node (v8.9.0, x64)
Memory used 322,599k (± 0.02%) 322,133k (± 0.02%) -466k (- 0.14%) 322,052k 322,296k
Parse Time 2.12s (± 0.52%) 2.12s (± 0.39%) -0.01s (- 0.38%) 2.10s 2.14s
Bind Time 0.92s (± 0.57%) 0.92s (± 0.43%) +0.00s (+ 0.22%) 0.91s 0.93s
Check Time 5.48s (± 0.41%) 5.47s (± 0.67%) -0.00s (- 0.09%) 5.37s 5.55s
Emit Time 6.18s (± 0.98%) 6.23s (± 0.74%) +0.05s (+ 0.78%) 6.15s 6.34s
Total Time 14.71s (± 0.48%) 14.74s (± 0.40%) +0.04s (+ 0.27%) 14.57s 14.90s
Monaco - node (v8.9.0, x64)
Memory used 325,510k (± 0.01%) 325,560k (± 0.02%) +51k (+ 0.02%) 325,468k 325,745k
Parse Time 1.55s (± 0.37%) 1.55s (± 0.26%) +0.00s (+ 0.06%) 1.54s 1.56s
Bind Time 0.89s (± 0.73%) 0.90s (± 0.85%) +0.00s (+ 0.34%) 0.88s 0.91s
Check Time 5.35s (± 0.51%) 5.37s (± 0.58%) +0.01s (+ 0.21%) 5.32s 5.47s
Emit Time 3.51s (± 0.36%) 3.50s (± 0.60%) -0.00s (- 0.09%) 3.46s 3.55s
Total Time 11.30s (± 0.29%) 11.31s (± 0.41%) +0.01s (+ 0.10%) 11.24s 11.45s
TFS - node (v8.9.0, x64)
Memory used 291,387k (± 0.01%) 291,400k (± 0.02%) +13k (+ 0.00%) 291,299k 291,521k
Parse Time 1.26s (± 0.87%) 1.26s (± 0.53%) -0.00s (- 0.00%) 1.25s 1.28s
Bind Time 0.75s (± 0.49%) 0.75s (± 0.69%) +0.00s (+ 0.40%) 0.74s 0.76s
Check Time 4.88s (± 1.25%) 4.86s (± 1.17%) -0.02s (- 0.49%) 4.77s 5.04s
Emit Time 3.27s (± 2.52%) 3.33s (± 2.25%) +0.05s (+ 1.56%) 3.06s 3.43s
Total Time 10.16s (± 0.52%) 10.19s (± 0.29%) +0.03s (+ 0.29%) 10.12s 10.26s
material-ui - node (v8.9.0, x64)
Memory used 455,466k (± 0.01%) 455,208k (± 0.01%) -258k (- 0.06%) 455,102k 455,266k
Parse Time 2.10s (± 0.36%) 2.11s (± 1.11%) +0.01s (+ 0.48%) 2.09s 2.20s
Bind Time 0.81s (± 1.29%) 0.81s (± 1.37%) +0.01s (+ 0.74%) 0.79s 0.84s
Check Time 17.66s (± 0.79%) 17.82s (± 0.56%) +0.16s (+ 0.89%) 17.55s 18.07s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.57s (± 0.70%) 20.75s (± 0.43%) +0.18s (+ 0.85%) 20.51s 20.97s
Angular - node (v8.9.0, x86)
Memory used 185,631k (± 0.03%) 185,398k (± 0.02%) -233k (- 0.13%) 185,289k 185,476k
Parse Time 2.05s (± 0.57%) 2.05s (± 0.57%) 0.00s ( 0.00%) 2.02s 2.08s
Bind Time 1.07s (± 0.34%) 1.08s (± 0.77%) +0.00s (+ 0.19%) 1.06s 1.09s
Check Time 4.98s (± 0.28%) 4.98s (± 0.49%) +0.00s (+ 0.04%) 4.95s 5.04s
Emit Time 6.03s (± 0.90%) 6.01s (± 0.45%) -0.02s (- 0.38%) 5.96s 6.07s
Total Time 14.14s (± 0.49%) 14.12s (± 0.26%) -0.02s (- 0.12%) 14.03s 14.19s
Monaco - node (v8.9.0, x86)
Memory used 185,305k (± 0.02%) 185,336k (± 0.01%) +31k (+ 0.02%) 185,294k 185,388k
Parse Time 1.59s (± 0.67%) 1.60s (± 0.73%) +0.00s (+ 0.31%) 1.58s 1.63s
Bind Time 0.76s (± 0.53%) 0.77s (± 0.91%) +0.01s (+ 1.05%) 0.75s 0.78s
Check Time 5.39s (± 0.55%) 5.40s (± 0.60%) +0.01s (+ 0.15%) 5.33s 5.47s
Emit Time 2.86s (± 0.70%) 2.90s (± 0.86%) +0.04s (+ 1.26%) 2.85s 2.96s
Total Time 10.61s (± 0.30%) 10.67s (± 0.55%) +0.05s (+ 0.51%) 10.57s 10.82s
TFS - node (v8.9.0, x86)
Memory used 166,787k (± 0.01%) 166,829k (± 0.03%) +42k (+ 0.03%) 166,750k 166,949k
Parse Time 1.29s (± 0.77%) 1.30s (± 0.97%) +0.01s (+ 0.39%) 1.27s 1.32s
Bind Time 0.71s (± 0.56%) 0.72s (± 1.16%) +0.01s (+ 0.99%) 0.70s 0.74s
Check Time 4.59s (± 0.36%) 4.61s (± 0.52%) +0.02s (+ 0.41%) 4.56s 4.67s
Emit Time 3.05s (± 3.33%) 2.99s (± 2.26%) -0.06s (- 1.84%) 2.92s 3.25s
Total Time 9.64s (± 1.05%) 9.62s (± 0.98%) -0.03s (- 0.27%) 9.47s 9.95s
material-ui - node (v8.9.0, x86)
Memory used 257,673k (± 0.02%) 257,527k (± 0.01%) -146k (- 0.06%) 257,487k 257,593k
Parse Time 2.18s (± 0.51%) 2.17s (± 0.40%) -0.01s (- 0.50%) 2.15s 2.19s
Bind Time 0.68s (± 1.00%) 0.69s (± 0.69%) +0.00s (+ 0.44%) 0.68s 0.70s
Check Time 16.21s (± 0.50%) 16.10s (± 0.47%) -0.11s (- 0.67%) 15.96s 16.31s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 19.08s (± 0.45%) 18.96s (± 0.43%) -0.12s (- 0.61%) 18.82s 19.17s
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 37615 10
Baseline master 10

@rbuckton
Copy link
Member Author

rbuckton commented Apr 7, 2020

@typescript-bot run dt
@typescript-bot test this
@typescript-bot user test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 7, 2020

Heya @rbuckton, I've started to run the extended test suite on this PR at 24b6d64. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 7, 2020

Heya @rbuckton, I've started to run the parallelized community code test suite on this PR at 24b6d64. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 7, 2020

Heya @rbuckton, I've started to run the parallelized Definitely Typed test suite on this PR at 24b6d64. You can monitor the build here.

@rbuckton
Copy link
Member Author

rbuckton commented Apr 7, 2020

@typescript-bot user test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 7, 2020

Heya @rbuckton, I've started to run the parallelized community code test suite on this PR at de14792. You can monitor the build here.

@rbuckton
Copy link
Member Author

rbuckton commented Apr 8, 2020

  • RWC Baselines look good.
  • User test baselines look good
  • DT baselines are clean.

@ahejlsberg, @weswigham I'd appreciate if you could take a look.

@sandersn sandersn assigned ahejlsberg and unassigned rbuckton Apr 15, 2020
@sandersn
Copy link
Member

@rbuckton is this for 3.9 or 4.0?

@sandersn sandersn added the For Milestone Bug PRs that fix a bug with a specific milestone label Apr 15, 2020
@rbuckton
Copy link
Member Author

I was hoping for 3.9, as this was initially part of awaited and does fix some inference-related errors in RWC, but I'd defer to @DanielRosenwasser to weigh on on this. I'll have to dig through our issues list for related issues though.

@DanielRosenwasser
Copy link
Member

I think we should take this as an item in the design meeting to understand whether it goes in regardless of awaited. It's way too late in the game to add it to 3.9 IMO.

@sandersn
Copy link
Member

Unfortunately, we never finished reviewing this PR. It is pretty old now, so I'm going to close it to reduce the number of open PRs.

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
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants