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 fastpath to isRelatedTo for type references #37481

Merged

Conversation

weswigham
Copy link
Member

Fixes #37344

This is an alternative to #37423. Rather than deferring conditional simplification, we introduce a fastpath for relating type references to primitives, which occurs before normalization, this way we don't pull on the type arguments for deferred type references unless we're much more likely to actually need their structure to resolve the relationship.

@weswigham
Copy link
Member Author

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 19, 2020

Heya @weswigham, I've started to run the perf test suite on this PR at 5d2149c. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..37481

Metric master 37481 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 327,882k (± 0.03%) 327,346k (± 0.02%) -536k (- 0.16%) 327,249k 327,558k
Parse Time 1.63s (± 0.71%) 1.62s (± 0.40%) -0.01s (- 0.31%) 1.61s 1.63s
Bind Time 0.89s (± 0.53%) 0.89s (± 0.95%) +0.00s (+ 0.11%) 0.87s 0.91s
Check Time 4.75s (± 0.56%) 4.77s (± 0.47%) +0.01s (+ 0.25%) 4.73s 4.83s
Emit Time 5.33s (± 0.79%) 5.32s (± 0.45%) -0.01s (- 0.17%) 5.26s 5.39s
Total Time 12.61s (± 0.35%) 12.61s (± 0.31%) +0.00s (+ 0.02%) 12.52s 12.68s
Monaco - node (v10.16.3, x64)
Memory used 327,093k (± 0.02%) 327,077k (± 0.02%) -17k (- 0.01%) 326,986k 327,249k
Parse Time 1.26s (± 0.75%) 1.26s (± 0.71%) -0.00s (- 0.08%) 1.23s 1.28s
Bind Time 0.78s (± 0.48%) 0.77s (± 0.44%) -0.00s (- 0.26%) 0.77s 0.78s
Check Time 4.75s (± 0.20%) 4.76s (± 0.53%) +0.00s (+ 0.02%) 4.70s 4.82s
Emit Time 2.92s (± 0.50%) 2.91s (± 0.52%) -0.01s (- 0.38%) 2.88s 2.95s
Total Time 9.71s (± 0.19%) 9.69s (± 0.29%) -0.02s (- 0.15%) 9.64s 9.77s
TFS - node (v10.16.3, x64)
Memory used 291,933k (± 0.02%) 291,879k (± 0.02%) -54k (- 0.02%) 291,749k 291,981k
Parse Time 0.95s (± 0.89%) 0.95s (± 0.77%) -0.00s (- 0.11%) 0.93s 0.96s
Bind Time 0.74s (± 0.64%) 0.74s (± 0.54%) -0.00s (- 0.27%) 0.73s 0.75s
Check Time 4.26s (± 0.47%) 4.29s (± 0.48%) +0.03s (+ 0.61%) 4.25s 4.33s
Emit Time 3.06s (± 1.02%) 3.05s (± 0.45%) -0.00s (- 0.13%) 3.03s 3.09s
Total Time 9.01s (± 0.50%) 9.03s (± 0.28%) +0.02s (+ 0.24%) 8.97s 9.08s
material-ui - node (v10.16.3, x64)
Memory used 453,263k (± 0.02%) 452,813k (± 0.00%) -449k (- 0.10%) 452,763k 452,857k
Parse Time 1.78s (± 0.46%) 1.77s (± 0.28%) -0.00s (- 0.11%) 1.76s 1.78s
Bind Time 0.68s (± 0.98%) 0.68s (± 0.53%) +0.00s (+ 0.15%) 0.68s 0.69s
Check Time 13.73s (± 0.50%) 13.74s (± 0.52%) +0.01s (+ 0.06%) 13.59s 13.89s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.19s (± 0.41%) 16.20s (± 0.46%) +0.01s (+ 0.05%) 16.04s 16.36s
Angular - node (v12.1.0, x64)
Memory used 303,590k (± 0.02%) 302,939k (± 0.07%) -651k (- 0.21%) 302,096k 303,205k
Parse Time 1.57s (± 0.67%) 1.57s (± 0.30%) -0.01s (- 0.38%) 1.56s 1.58s
Bind Time 0.86s (± 0.58%) 0.87s (± 0.89%) +0.01s (+ 0.69%) 0.85s 0.89s
Check Time 4.62s (± 0.36%) 4.64s (± 0.79%) +0.02s (+ 0.35%) 4.58s 4.77s
Emit Time 5.50s (± 1.20%) 5.48s (± 1.65%) -0.01s (- 0.20%) 5.40s 5.83s
Total Time 12.55s (± 0.51%) 12.56s (± 1.03%) +0.01s (+ 0.04%) 12.46s 13.07s
Monaco - node (v12.1.0, x64)
Memory used 307,000k (± 0.01%) 307,010k (± 0.02%) +9k (+ 0.00%) 306,889k 307,100k
Parse Time 1.21s (± 0.68%) 1.20s (± 0.41%) -0.00s (- 0.25%) 1.19s 1.21s
Bind Time 0.74s (± 0.70%) 0.74s (± 0.40%) -0.00s (- 0.14%) 0.73s 0.74s
Check Time 4.54s (± 0.49%) 4.56s (± 0.46%) +0.02s (+ 0.46%) 4.52s 4.62s
Emit Time 2.94s (± 0.75%) 2.97s (± 0.76%) +0.03s (+ 1.16%) 2.92s 3.03s
Total Time 9.43s (± 0.42%) 9.48s (± 0.40%) +0.05s (+ 0.49%) 9.41s 9.58s
TFS - node (v12.1.0, x64)
Memory used 274,247k (± 0.03%) 274,205k (± 0.02%) -42k (- 0.02%) 274,117k 274,305k
Parse Time 0.93s (± 0.64%) 0.93s (± 1.01%) +0.01s (+ 0.76%) 0.91s 0.95s
Bind Time 0.71s (± 1.26%) 0.71s (± 1.06%) +0.00s (+ 0.14%) 0.69s 0.72s
Check Time 4.17s (± 0.40%) 4.17s (± 0.19%) +0.00s (+ 0.07%) 4.15s 4.19s
Emit Time 3.08s (± 0.83%) 3.08s (± 1.09%) +0.01s (+ 0.26%) 3.00s 3.18s
Total Time 8.88s (± 0.42%) 8.89s (± 0.41%) +0.02s (+ 0.20%) 8.81s 9.01s
material-ui - node (v12.1.0, x64)
Memory used 430,578k (± 0.06%) 430,305k (± 0.01%) -273k (- 0.06%) 430,183k 430,420k
Parse Time 1.75s (± 0.28%) 1.75s (± 0.57%) -0.00s (- 0.06%) 1.73s 1.77s
Bind Time 0.63s (± 1.03%) 0.63s (± 1.83%) +0.00s (+ 0.32%) 0.61s 0.66s
Check Time 12.10s (± 0.61%) 12.21s (± 0.55%) +0.11s (+ 0.89%) 12.09s 12.36s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.48s (± 0.55%) 14.59s (± 0.47%) +0.11s (+ 0.74%) 14.48s 14.74s
Angular - node (v8.9.0, x64)
Memory used 322,859k (± 0.01%) 322,383k (± 0.02%) -476k (- 0.15%) 322,227k 322,546k
Parse Time 2.11s (± 0.57%) 2.10s (± 0.17%) -0.01s (- 0.66%) 2.09s 2.10s
Bind Time 0.92s (± 0.48%) 0.92s (± 0.57%) -0.00s (- 0.33%) 0.91s 0.93s
Check Time 5.44s (± 2.14%) 5.47s (± 1.49%) +0.04s (+ 0.66%) 5.20s 5.65s
Emit Time 6.34s (± 1.91%) 6.25s (± 0.94%) -0.09s (- 1.36%) 6.11s 6.35s
Total Time 14.80s (± 0.95%) 14.73s (± 0.74%) -0.07s (- 0.47%) 14.49s 14.98s
Monaco - node (v8.9.0, x64)
Memory used 325,453k (± 0.01%) 325,435k (± 0.02%) -19k (- 0.01%) 325,320k 325,547k
Parse Time 1.54s (± 0.42%) 1.54s (± 0.40%) +0.00s (+ 0.20%) 1.53s 1.55s
Bind Time 0.90s (± 1.17%) 0.89s (± 0.53%) -0.01s (- 0.78%) 0.88s 0.90s
Check Time 5.36s (± 0.56%) 5.39s (± 0.48%) +0.03s (+ 0.60%) 5.34s 5.44s
Emit Time 3.50s (± 0.63%) 3.50s (± 0.44%) -0.00s (- 0.06%) 3.45s 3.53s
Total Time 11.29s (± 0.35%) 11.32s (± 0.31%) +0.03s (+ 0.25%) 11.26s 11.41s
TFS - node (v8.9.0, x64)
Memory used 291,375k (± 0.02%) 291,360k (± 0.02%) -14k (- 0.00%) 291,280k 291,491k
Parse Time 1.26s (± 0.27%) 1.26s (± 0.67%) +0.00s (+ 0.16%) 1.24s 1.28s
Bind Time 0.74s (± 0.80%) 0.75s (± 0.74%) +0.00s (+ 0.40%) 0.74s 0.76s
Check Time 4.86s (± 0.80%) 4.85s (± 1.46%) -0.01s (- 0.25%) 4.74s 5.11s
Emit Time 3.32s (± 1.70%) 3.33s (± 1.97%) +0.01s (+ 0.39%) 3.09s 3.39s
Total Time 10.18s (± 0.33%) 10.19s (± 0.53%) +0.01s (+ 0.06%) 10.04s 10.26s
material-ui - node (v8.9.0, x64)
Memory used 455,771k (± 0.01%) 455,376k (± 0.01%) -395k (- 0.09%) 455,241k 455,528k
Parse Time 2.11s (± 0.55%) 2.10s (± 0.64%) -0.01s (- 0.43%) 2.09s 2.15s
Bind Time 0.81s (± 0.59%) 0.81s (± 0.99%) +0.00s (+ 0.12%) 0.79s 0.82s
Check Time 17.61s (± 0.77%) 17.76s (± 0.62%) +0.15s (+ 0.83%) 17.51s 18.04s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.53s (± 0.70%) 20.67s (± 0.58%) +0.14s (+ 0.67%) 20.40s 20.97s
Angular - node (v8.9.0, x86)
Memory used 185,784k (± 0.02%) 185,545k (± 0.02%) -239k (- 0.13%) 185,457k 185,646k
Parse Time 2.05s (± 0.40%) 2.05s (± 1.06%) +0.00s (+ 0.20%) 2.03s 2.12s
Bind Time 1.07s (± 0.69%) 1.07s (± 0.37%) -0.00s (- 0.09%) 1.06s 1.08s
Check Time 5.00s (± 0.54%) 5.02s (± 0.62%) +0.02s (+ 0.38%) 4.94s 5.09s
Emit Time 6.02s (± 0.93%) 6.06s (± 0.79%) +0.04s (+ 0.60%) 5.99s 6.18s
Total Time 14.14s (± 0.53%) 14.20s (± 0.51%) +0.06s (+ 0.40%) 14.06s 14.38s
Monaco - node (v8.9.0, x86)
Memory used 185,232k (± 0.02%) 185,254k (± 0.02%) +22k (+ 0.01%) 185,191k 185,325k
Parse Time 1.59s (± 0.65%) 1.59s (± 0.97%) -0.00s (- 0.19%) 1.58s 1.65s
Bind Time 0.77s (± 0.78%) 0.77s (± 0.64%) +0.00s (+ 0.13%) 0.76s 0.78s
Check Time 5.39s (± 0.59%) 5.40s (± 0.44%) +0.02s (+ 0.30%) 5.34s 5.47s
Emit Time 2.89s (± 0.93%) 2.90s (± 1.10%) +0.01s (+ 0.38%) 2.85s 2.99s
Total Time 10.63s (± 0.52%) 10.66s (± 0.36%) +0.03s (+ 0.28%) 10.59s 10.74s
TFS - node (v8.9.0, x86)
Memory used 166,741k (± 0.01%) 166,723k (± 0.03%) -18k (- 0.01%) 166,644k 166,854k
Parse Time 1.29s (± 0.85%) 1.28s (± 0.45%) -0.00s (- 0.39%) 1.27s 1.30s
Bind Time 0.71s (± 0.63%) 0.71s (± 0.63%) 0.00s ( 0.00%) 0.70s 0.72s
Check Time 4.63s (± 0.74%) 4.62s (± 0.67%) -0.01s (- 0.13%) 4.58s 4.72s
Emit Time 2.99s (± 0.79%) 2.98s (± 0.72%) -0.01s (- 0.40%) 2.94s 3.03s
Total Time 9.62s (± 0.40%) 9.59s (± 0.42%) -0.03s (- 0.29%) 9.50s 9.70s
material-ui - node (v8.9.0, x86)
Memory used 257,767k (± 0.01%) 257,552k (± 0.01%) -215k (- 0.08%) 257,507k 257,602k
Parse Time 2.17s (± 0.41%) 2.17s (± 0.40%) -0.00s (- 0.23%) 2.16s 2.20s
Bind Time 0.68s (± 1.11%) 0.69s (± 1.19%) +0.00s (+ 0.29%) 0.67s 0.71s
Check Time 16.26s (± 0.56%) 16.36s (± 0.91%) +0.09s (+ 0.58%) 16.13s 16.68s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 19.12s (± 0.45%) 19.21s (± 0.82%) +0.09s (+ 0.49%) 18.99s 19.55s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-166-generic
Architecturex64
Available Memory16 GB
Available Memory2 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 37481 10
Baseline master 10

@DanielRosenwasser
Copy link
Member

@typescript-bot pack this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 23, 2020

Heya @DanielRosenwasser, I've started to run the tarball bundle task on this PR at 5d2149c. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 23, 2020

Hey @DanielRosenwasser, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/69004/artifacts?artifactName=tgz&fileId=1857ACCCA14F55C27592FBE57E2A9E4E6D6C4673EAC7428C13444923DFE4EAC702&fileName=/typescript-3.9.0-insiders.20200323.tgz"
    }
}

and then running npm install.


There is also a playground for this build.

@DanielRosenwasser
Copy link
Member

Can't seem to find behavior that exhibited the case I was mentioning above. I tried

interface Foo<T> {
    yadda: T;
}

declare let x: number & Foo<string>;
declare let y: number;

x = y;
y = x;

but that doesn't seem to have any differences.

@DanielRosenwasser
Copy link
Member

Are type references special here? Can you just check if the source has TypeFlags.Object too?

@weswigham
Copy link
Member Author

but that doesn't seem to have any differences.

That's because the only type flags propagated are the propagating flags ContainsWideningType | ContainsObjectOrArrayLiteral | NonInferrableType.

Are type references special here? Can you just check if the source has TypeFlags.Object too?

Maybe, I'll simplify it.

@DanielRosenwasser
Copy link
Member

Sorry, I misread which flags were getting propagated.

@DanielRosenwasser
Copy link
Member

@typescript-bot user test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Mar 23, 2020

Heya @DanielRosenwasser, I've started to run the parallelized community code test suite on this PR at fdc4e50. 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.

@weswigham
Copy link
Member Author

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 3, 2020

Heya @weswigham, I've started to run the perf test suite on this PR at 46ca0b6. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 3, 2020

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 3, 2020

Heya @weswigham, I've started to run the extended test suite on this PR at 46ca0b6. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 3, 2020

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

@typescript-bot
Copy link
Collaborator

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

Here they are:

Comparison Report - master..37481

Metric master 37481 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 327,713k (± 0.02%) 327,094k (± 0.02%) -620k (- 0.19%) 326,869k 327,247k
Parse Time 1.64s (± 0.43%) 1.63s (± 0.53%) -0.01s (- 0.67%) 1.61s 1.65s
Bind Time 0.89s (± 1.21%) 0.89s (± 0.77%) -0.00s (- 0.56%) 0.87s 0.90s
Check Time 4.77s (± 0.50%) 4.75s (± 0.43%) -0.02s (- 0.34%) 4.71s 4.79s
Emit Time 5.35s (± 0.67%) 5.33s (± 0.84%) -0.02s (- 0.37%) 5.26s 5.45s
Total Time 12.65s (± 0.47%) 12.59s (± 0.54%) -0.05s (- 0.40%) 12.48s 12.76s
Monaco - node (v10.16.3, x64)
Memory used 327,067k (± 0.02%) 327,046k (± 0.02%) -22k (- 0.01%) 326,936k 327,213k
Parse Time 1.27s (± 0.76%) 1.27s (± 0.66%) -0.00s (- 0.16%) 1.26s 1.30s
Bind Time 0.77s (± 0.64%) 0.78s (± 0.47%) +0.00s (+ 0.26%) 0.77s 0.78s
Check Time 4.75s (± 0.34%) 4.75s (± 0.40%) -0.00s (- 0.08%) 4.71s 4.78s
Emit Time 2.92s (± 0.75%) 2.92s (± 0.59%) +0.00s (+ 0.03%) 2.89s 2.96s
Total Time 9.72s (± 0.33%) 9.71s (± 0.31%) -0.00s (- 0.03%) 9.64s 9.78s
TFS - node (v10.16.3, x64)
Memory used 292,020k (± 0.03%) 292,008k (± 0.03%) -12k (- 0.00%) 291,817k 292,258k
Parse Time 0.96s (± 0.54%) 0.96s (± 0.58%) +0.00s (+ 0.31%) 0.95s 0.97s
Bind Time 0.75s (± 0.46%) 0.74s (± 0.46%) -0.00s (- 0.54%) 0.74s 0.75s
Check Time 4.30s (± 0.58%) 4.32s (± 0.55%) +0.02s (+ 0.49%) 4.28s 4.37s
Emit Time 3.07s (± 1.03%) 3.07s (± 0.60%) +0.01s (+ 0.23%) 3.04s 3.11s
Total Time 9.08s (± 0.44%) 9.10s (± 0.39%) +0.02s (+ 0.25%) 9.01s 9.17s
material-ui - node (v10.16.3, x64)
Memory used 450,162k (± 0.01%) 447,636k (± 0.01%) -2,526k (- 0.56%) 447,535k 447,712k
Parse Time 1.78s (± 0.57%) 1.77s (± 0.43%) -0.00s (- 0.22%) 1.76s 1.79s
Bind Time 0.68s (± 0.87%) 0.68s (± 0.70%) -0.00s (- 0.15%) 0.67s 0.69s
Check Time 13.05s (± 0.37%) 13.11s (± 0.42%) +0.06s (+ 0.44%) 13.00s 13.25s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.51s (± 0.30%) 15.57s (± 0.35%) +0.05s (+ 0.34%) 15.46s 15.71s
Angular - node (v12.1.0, x64)
Memory used 303,204k (± 0.02%) 302,650k (± 0.02%) -554k (- 0.18%) 302,517k 302,811k
Parse Time 1.59s (± 0.52%) 1.58s (± 0.53%) -0.00s (- 0.32%) 1.56s 1.60s
Bind Time 0.87s (± 0.57%) 0.87s (± 0.66%) +0.00s (+ 0.46%) 0.86s 0.88s
Check Time 4.62s (± 0.26%) 4.64s (± 0.28%) +0.02s (+ 0.35%) 4.61s 4.67s
Emit Time 5.50s (± 0.46%) 5.50s (± 0.92%) +0.01s (+ 0.16%) 5.41s 5.67s
Total Time 12.57s (± 0.20%) 12.60s (± 0.32%) +0.03s (+ 0.20%) 12.53s 12.73s
Monaco - node (v12.1.0, x64)
Memory used 307,023k (± 0.01%) 307,005k (± 0.02%) -18k (- 0.01%) 306,858k 307,133k
Parse Time 1.22s (± 0.56%) 1.22s (± 0.41%) 0.00s ( 0.00%) 1.20s 1.22s
Bind Time 0.74s (± 0.80%) 0.75s (± 1.04%) +0.01s (+ 0.67%) 0.74s 0.77s
Check Time 4.56s (± 0.37%) 4.57s (± 0.32%) +0.01s (+ 0.22%) 4.54s 4.60s
Emit Time 2.96s (± 1.03%) 2.97s (± 0.48%) +0.01s (+ 0.20%) 2.92s 2.99s
Total Time 9.48s (± 0.42%) 9.50s (± 0.25%) +0.02s (+ 0.20%) 9.46s 9.55s
TFS - node (v12.1.0, x64)
Memory used 274,311k (± 0.03%) 274,322k (± 0.03%) +10k (+ 0.00%) 274,170k 274,499k
Parse Time 0.93s (± 1.18%) 0.93s (± 0.73%) +0.00s (+ 0.21%) 0.92s 0.95s
Bind Time 0.70s (± 1.27%) 0.70s (± 0.92%) -0.00s (- 0.28%) 0.69s 0.72s
Check Time 4.20s (± 0.32%) 4.20s (± 0.25%) 0.00s ( 0.00%) 4.17s 4.22s
Emit Time 3.09s (± 0.63%) 3.09s (± 1.07%) +0.00s (+ 0.03%) 3.03s 3.19s
Total Time 8.93s (± 0.40%) 8.93s (± 0.33%) -0.00s (- 0.01%) 8.86s 9.00s
material-ui - node (v12.1.0, x64)
Memory used 427,773k (± 0.02%) 425,237k (± 0.04%) -2,536k (- 0.59%) 424,501k 425,429k
Parse Time 1.75s (± 0.39%) 1.76s (± 0.34%) +0.00s (+ 0.11%) 1.75s 1.77s
Bind Time 0.63s (± 1.30%) 0.63s (± 0.92%) +0.01s (+ 0.96%) 0.62s 0.65s
Check Time 11.63s (± 0.59%) 11.63s (± 0.51%) +0.00s (+ 0.02%) 11.54s 11.79s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 14.01s (± 0.50%) 14.02s (± 0.43%) +0.01s (+ 0.07%) 13.93s 14.18s
Angular - node (v8.9.0, x64)
Memory used 322,488k (± 0.02%) 322,036k (± 0.02%) -452k (- 0.14%) 321,871k 322,214k
Parse Time 2.12s (± 0.48%) 2.11s (± 0.41%) -0.01s (- 0.42%) 2.10s 2.13s
Bind Time 0.92s (± 0.81%) 0.92s (± 0.81%) 0.00s ( 0.00%) 0.90s 0.94s
Check Time 5.44s (± 1.44%) 5.45s (± 0.99%) +0.01s (+ 0.20%) 5.24s 5.51s
Emit Time 6.28s (± 1.35%) 6.25s (± 2.00%) -0.03s (- 0.43%) 6.02s 6.68s
Total Time 14.75s (± 0.35%) 14.73s (± 0.62%) -0.03s (- 0.17%) 14.52s 14.96s
Monaco - node (v8.9.0, x64)
Memory used 325,456k (± 0.01%) 325,444k (± 0.01%) -12k (- 0.00%) 325,379k 325,528k
Parse Time 1.54s (± 0.53%) 1.55s (± 0.53%) +0.00s (+ 0.26%) 1.53s 1.57s
Bind Time 0.89s (± 0.38%) 0.89s (± 0.53%) -0.00s (- 0.00%) 0.88s 0.90s
Check Time 5.32s (± 0.50%) 5.36s (± 0.44%) +0.03s (+ 0.62%) 5.33s 5.44s
Emit Time 3.50s (± 0.79%) 3.50s (± 0.54%) -0.00s (- 0.03%) 3.45s 3.54s
Total Time 11.26s (± 0.39%) 11.30s (± 0.26%) +0.03s (+ 0.30%) 11.25s 11.39s
TFS - node (v8.9.0, x64)
Memory used 291,456k (± 0.01%) 291,414k (± 0.01%) -42k (- 0.01%) 291,359k 291,507k
Parse Time 1.26s (± 0.78%) 1.26s (± 0.58%) 0.00s ( 0.00%) 1.25s 1.28s
Bind Time 0.75s (± 0.40%) 0.75s (± 0.66%) -0.00s (- 0.27%) 0.74s 0.76s
Check Time 5.01s (± 1.73%) 4.94s (± 1.44%) -0.07s (- 1.44%) 4.84s 5.11s
Emit Time 3.18s (± 2.20%) 3.26s (± 2.26%) +0.08s (+ 2.55%) 3.10s 3.40s
Total Time 10.20s (± 0.47%) 10.21s (± 0.37%) +0.01s (+ 0.08%) 10.14s 10.28s
material-ui - node (v8.9.0, x64)
Memory used 452,686k (± 0.01%) 450,180k (± 0.01%) -2,505k (- 0.55%) 450,058k 450,272k
Parse Time 2.10s (± 0.57%) 2.12s (± 0.62%) +0.02s (+ 0.76%) 2.11s 2.17s
Bind Time 0.81s (± 0.58%) 0.80s (± 0.97%) -0.01s (- 1.48%) 0.79s 0.82s
Check Time 17.10s (± 0.59%) 17.18s (± 0.60%) +0.08s (+ 0.47%) 16.91s 17.33s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 20.02s (± 0.52%) 20.10s (± 0.51%) +0.08s (+ 0.42%) 19.81s 20.25s
Angular - node (v8.9.0, x86)
Memory used 185,664k (± 0.03%) 185,379k (± 0.02%) -286k (- 0.15%) 185,305k 185,477k
Parse Time 2.06s (± 0.48%) 2.05s (± 0.52%) -0.01s (- 0.24%) 2.04s 2.08s
Bind Time 1.07s (± 0.75%) 1.08s (± 1.00%) +0.01s (+ 1.03%) 1.07s 1.12s
Check Time 4.99s (± 0.34%) 4.99s (± 0.87%) +0.01s (+ 0.12%) 4.92s 5.10s
Emit Time 6.02s (± 0.62%) 6.06s (± 0.62%) +0.04s (+ 0.63%) 5.97s 6.14s
Total Time 14.14s (± 0.23%) 14.19s (± 0.54%) +0.05s (+ 0.35%) 14.03s 14.37s
Monaco - node (v8.9.0, x86)
Memory used 185,339k (± 0.02%) 185,354k (± 0.02%) +15k (+ 0.01%) 185,296k 185,463k
Parse Time 1.59s (± 0.46%) 1.59s (± 0.46%) -0.00s (- 0.00%) 1.58s 1.61s
Bind Time 0.77s (± 1.09%) 0.77s (± 0.65%) -0.01s (- 0.78%) 0.76s 0.78s
Check Time 5.43s (± 0.61%) 5.40s (± 0.51%) -0.03s (- 0.61%) 5.36s 5.50s
Emit Time 2.85s (± 0.59%) 2.86s (± 0.49%) +0.01s (+ 0.21%) 2.83s 2.89s
Total Time 10.64s (± 0.50%) 10.61s (± 0.33%) -0.03s (- 0.27%) 10.53s 10.73s
TFS - node (v8.9.0, x86)
Memory used 166,891k (± 0.03%) 166,879k (± 0.01%) -11k (- 0.01%) 166,825k 166,930k
Parse Time 1.29s (± 0.64%) 1.29s (± 0.45%) +0.00s (+ 0.08%) 1.28s 1.30s
Bind Time 0.72s (± 0.90%) 0.71s (± 0.56%) -0.01s (- 1.25%) 0.70s 0.72s
Check Time 4.64s (± 0.67%) 4.63s (± 0.39%) -0.01s (- 0.30%) 4.59s 4.67s
Emit Time 3.01s (± 2.83%) 3.00s (± 1.72%) -0.02s (- 0.53%) 2.94s 3.20s
Total Time 9.66s (± 0.82%) 9.62s (± 0.67%) -0.03s (- 0.35%) 9.55s 9.87s
material-ui - node (v8.9.0, x86)
Memory used 256,233k (± 0.01%) 254,984k (± 0.02%) -1,249k (- 0.49%) 254,912k 255,115k
Parse Time 2.17s (± 0.44%) 2.19s (± 0.78%) +0.01s (+ 0.55%) 2.15s 2.23s
Bind Time 0.69s (± 0.87%) 0.68s (± 1.11%) -0.00s (- 0.15%) 0.67s 0.70s
Check Time 15.62s (± 0.61%) 15.67s (± 0.55%) +0.05s (+ 0.33%) 15.43s 15.82s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 18.48s (± 0.51%) 18.54s (± 0.50%) +0.06s (+ 0.34%) 18.28s 18.74s
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 37481 10
Baseline master 10

@weswigham
Copy link
Member Author

@typescript-bot pack this

@typescript-bot
Copy link
Collaborator

typescript-bot commented Apr 6, 2020

Heya @weswigham, I've started to run the tarball bundle task on this PR at 46ca0b6. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

Hey @weswigham, I've packed this into an installable tgz. You can install it for testing by referencing it in your package.json like so:

{
    "devDependencies": {
        "typescript": "https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/_apis/build/builds/70474/artifacts?artifactName=tgz&fileId=852AAA3F7F68AC204E5AA4F7A0756B96EC5691E6475B37C63DF4440BE526348302&fileName=/typescript-3.9.0-insiders.20200406.tgz"
    }
}

and then running npm install.

@sandersn sandersn assigned ahejlsberg and unassigned weswigham Apr 7, 2020
@sandersn sandersn added the For Milestone Bug PRs that fix a bug with a specific milestone label Apr 7, 2020
@weswigham
Copy link
Member Author

@ahejlsberg can I get a review?

src/compiler/checker.ts Show resolved Hide resolved
@weswigham weswigham merged commit edd4e0a into microsoft:master Apr 13, 2020
@weswigham weswigham deleted the early-bails-prenormalize-for-isrelatedto branch April 13, 2020 22:54
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.

Recursive type alias in union type breaks in 3.8.3
5 participants