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

Properly remove generic types that are constrained to 'null | undefined' in getNonNullableType #44219

Merged
merged 4 commits into from May 25, 2021

Conversation

ahejlsberg
Copy link
Member

@ahejlsberg ahejlsberg commented May 23, 2021

Fixes #43425.

@typescript-bot typescript-bot added Author: Team For Milestone Bug PRs that fix a bug with a specific milestone labels May 23, 2021
@ahejlsberg ahejlsberg changed the title Properly remove generic types that are constrained to Properly remove generic types that are constrained to 'null | undefined' in getNonNullableType May 23, 2021
@ahejlsberg
Copy link
Member Author

ahejlsberg commented May 23, 2021

This is a very safe fix. If possible, we should cherry pick it for 4.3.

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented May 24, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

Heya @DanielRosenwasser, I've started to run the extended test suite on this PR at 634b01a. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

Heya @DanielRosenwasser, I've started to run the perf test suite on this PR at 634b01a. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

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/103786/artifacts?artifactName=tgz&fileId=2CB484CD98847912C74630D9090A4ACD9170A4BE670BCDC20897A5466355A81402&fileName=/typescript-4.4.0-insiders.20210524.tgz"
    }
}

and then running npm install.


There is also a playground for this build and an npm module you can use via "typescript": "npm:@typescript-deploys/pr-build@4.4.0-pr-44219-7".;

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

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

typescript-bot commented May 24, 2021

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

Here they are:

Comparison Report - master..44219

Metric master 44219 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 343,846k (± 0.01%) 343,863k (± 0.02%) +17k (+ 0.00%) 343,768k 344,059k
Parse Time 1.80s (± 0.40%) 1.81s (± 0.73%) +0.01s (+ 0.33%) 1.78s 1.84s
Bind Time 0.84s (± 0.84%) 0.84s (± 0.73%) +0.00s (+ 0.24%) 0.83s 0.85s
Check Time 5.22s (± 0.37%) 5.22s (± 0.44%) +0.00s (+ 0.02%) 5.17s 5.27s
Emit Time 5.48s (± 0.56%) 5.49s (± 0.60%) +0.01s (+ 0.15%) 5.40s 5.55s
Total Time 13.34s (± 0.34%) 13.36s (± 0.45%) +0.02s (+ 0.15%) 13.20s 13.48s
Compiler-Unions - node (v10.16.3, x64)
Memory used 200,380k (± 0.02%) 200,349k (± 0.02%) -31k (- 0.02%) 200,262k 200,416k
Parse Time 0.78s (± 0.67%) 0.78s (± 0.43%) +0.00s (+ 0.13%) 0.77s 0.79s
Bind Time 0.53s (± 1.14%) 0.54s (± 0.93%) +0.01s (+ 1.90%) 0.52s 0.54s
Check Time 7.54s (± 0.48%) 7.61s (± 0.68%) +0.07s (+ 0.87%) 7.49s 7.69s
Emit Time 2.24s (± 1.36%) 2.23s (± 0.72%) -0.00s (- 0.22%) 2.19s 2.27s
Total Time 11.09s (± 0.50%) 11.16s (± 0.55%) +0.07s (+ 0.67%) 11.00s 11.27s
Monaco - node (v10.16.3, x64)
Memory used 340,397k (± 0.02%) 340,413k (± 0.02%) +16k (+ 0.00%) 340,300k 340,573k
Parse Time 1.45s (± 0.85%) 1.46s (± 1.12%) +0.01s (+ 0.48%) 1.42s 1.48s
Bind Time 0.74s (± 0.78%) 0.74s (± 1.10%) +0.00s (+ 0.41%) 0.73s 0.76s
Check Time 5.36s (± 0.61%) 5.41s (± 0.46%) +0.05s (+ 0.88%) 5.34s 5.45s
Emit Time 2.97s (± 0.77%) 2.97s (± 0.54%) +0.00s (+ 0.10%) 2.94s 3.01s
Total Time 10.51s (± 0.35%) 10.58s (± 0.28%) +0.06s (+ 0.58%) 10.51s 10.65s
TFS - node (v10.16.3, x64)
Memory used 304,084k (± 0.04%) 304,017k (± 0.03%) -66k (- 0.02%) 303,850k 304,195k
Parse Time 1.18s (± 0.44%) 1.19s (± 0.93%) +0.01s (+ 0.68%) 1.16s 1.20s
Bind Time 0.70s (± 0.79%) 0.71s (± 0.70%) +0.01s (+ 1.85%) 0.70s 0.72s
Check Time 4.87s (± 0.42%) 4.89s (± 0.49%) +0.02s (+ 0.43%) 4.84s 4.95s
Emit Time 3.06s (± 1.05%) 3.13s (± 1.72%) +0.07s (+ 2.32%) 3.03s 3.26s
Total Time 9.81s (± 0.42%) 9.92s (± 0.53%) +0.12s (+ 1.17%) 9.81s 10.06s
material-ui - node (v10.16.3, x64)
Memory used 471,555k (± 0.01%) 471,632k (± 0.02%) +76k (+ 0.02%) 471,471k 471,758k
Parse Time 1.73s (± 0.29%) 1.73s (± 0.61%) +0.01s (+ 0.41%) 1.70s 1.75s
Bind Time 0.66s (± 0.67%) 0.67s (± 0.56%) +0.00s (+ 0.45%) 0.66s 0.67s
Check Time 14.23s (± 0.64%) 14.31s (± 0.53%) +0.09s (+ 0.61%) 14.12s 14.47s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.62s (± 0.57%) 16.71s (± 0.51%) +0.09s (+ 0.57%) 16.52s 16.89s
Angular - node (v12.1.0, x64)
Memory used 322,145k (± 0.03%) 322,049k (± 0.08%) -96k (- 0.03%) 321,036k 322,303k
Parse Time 1.77s (± 0.53%) 1.77s (± 0.54%) +0.00s (+ 0.11%) 1.76s 1.80s
Bind Time 0.82s (± 0.60%) 0.83s (± 1.09%) +0.01s (+ 0.73%) 0.82s 0.85s
Check Time 5.07s (± 0.52%) 5.10s (± 0.51%) +0.03s (+ 0.63%) 5.04s 5.16s
Emit Time 5.66s (± 0.43%) 5.70s (± 0.71%) +0.04s (+ 0.64%) 5.61s 5.77s
Total Time 13.32s (± 0.33%) 13.40s (± 0.46%) +0.08s (+ 0.60%) 13.25s 13.52s
Compiler-Unions - node (v12.1.0, x64)
Memory used 187,859k (± 0.07%) 187,766k (± 0.07%) -93k (- 0.05%) 187,430k 187,968k
Parse Time 0.76s (± 0.49%) 0.76s (± 0.45%) -0.00s (- 0.26%) 0.76s 0.77s
Bind Time 0.53s (± 0.56%) 0.53s (± 0.84%) +0.00s (+ 0.76%) 0.52s 0.54s
Check Time 7.07s (± 0.49%) 7.08s (± 0.78%) +0.01s (+ 0.13%) 6.96s 7.19s
Emit Time 2.25s (± 0.85%) 2.29s (± 3.08%) +0.04s (+ 1.78%) 2.21s 2.55s
Total Time 10.61s (± 0.31%) 10.66s (± 0.70%) +0.04s (+ 0.41%) 10.50s 10.82s
Monaco - node (v12.1.0, x64)
Memory used 323,442k (± 0.02%) 323,349k (± 0.06%) -93k (- 0.03%) 322,540k 323,551k
Parse Time 1.42s (± 0.78%) 1.42s (± 0.63%) -0.00s (- 0.14%) 1.40s 1.43s
Bind Time 0.72s (± 1.21%) 0.72s (± 0.77%) 0.00s ( 0.00%) 0.71s 0.73s
Check Time 5.19s (± 0.38%) 5.22s (± 0.67%) +0.03s (+ 0.52%) 5.15s 5.32s
Emit Time 2.99s (± 0.42%) 3.02s (± 1.25%) +0.04s (+ 1.17%) 2.95s 3.12s
Total Time 10.31s (± 0.38%) 10.37s (± 0.52%) +0.06s (+ 0.58%) 10.28s 10.50s
TFS - node (v12.1.0, x64)
Memory used 288,535k (± 0.02%) 288,589k (± 0.01%) +55k (+ 0.02%) 288,541k 288,628k
Parse Time 1.19s (± 0.75%) 1.18s (± 0.70%) -0.00s (- 0.17%) 1.17s 1.21s
Bind Time 0.68s (± 0.85%) 0.69s (± 0.69%) +0.00s (+ 0.59%) 0.68s 0.70s
Check Time 4.79s (± 0.76%) 4.79s (± 0.44%) +0.00s (+ 0.02%) 4.74s 4.85s
Emit Time 3.13s (± 0.56%) 3.14s (± 0.97%) +0.01s (+ 0.26%) 3.06s 3.20s
Total Time 9.79s (± 0.52%) 9.80s (± 0.49%) +0.01s (+ 0.12%) 9.70s 9.91s
material-ui - node (v12.1.0, x64)
Memory used 450,090k (± 0.08%) 450,201k (± 0.07%) +111k (+ 0.02%) 448,938k 450,484k
Parse Time 1.71s (± 0.53%) 1.72s (± 0.87%) +0.01s (+ 0.47%) 1.69s 1.76s
Bind Time 0.64s (± 0.74%) 0.64s (± 1.09%) -0.00s (- 0.31%) 0.63s 0.66s
Check Time 12.78s (± 0.73%) 12.76s (± 0.91%) -0.01s (- 0.11%) 12.60s 13.16s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.13s (± 0.64%) 15.12s (± 0.80%) -0.01s (- 0.05%) 14.96s 15.54s
Angular - node (v14.15.1, x64)
Memory used 320,874k (± 0.01%) 320,877k (± 0.01%) +3k (+ 0.00%) 320,819k 320,911k
Parse Time 1.80s (± 0.78%) 1.80s (± 0.39%) +0.00s (+ 0.06%) 1.79s 1.82s
Bind Time 0.87s (± 0.67%) 0.87s (± 0.54%) +0.00s (+ 0.35%) 0.86s 0.88s
Check Time 5.12s (± 0.39%) 5.12s (± 0.45%) +0.00s (+ 0.08%) 5.09s 5.19s
Emit Time 5.72s (± 0.54%) 5.72s (± 0.90%) -0.00s (- 0.02%) 5.65s 5.86s
Total Time 13.51s (± 0.33%) 13.52s (± 0.36%) +0.01s (+ 0.04%) 13.41s 13.62s
Compiler-Unions - node (v14.15.1, x64)
Memory used 188,507k (± 0.61%) 188,504k (± 0.62%) -3k (- 0.00%) 186,547k 189,908k
Parse Time 0.80s (± 0.56%) 0.80s (± 0.63%) -0.00s (- 0.38%) 0.79s 0.81s
Bind Time 0.55s (± 0.67%) 0.56s (± 0.79%) +0.01s (+ 1.26%) 0.55s 0.57s
Check Time 7.20s (± 0.72%) 7.15s (± 0.52%) -0.04s (- 0.58%) 7.08s 7.25s
Emit Time 2.26s (± 1.11%) 2.27s (± 0.85%) +0.00s (+ 0.22%) 2.24s 2.33s
Total Time 10.81s (± 0.58%) 10.78s (± 0.39%) -0.04s (- 0.35%) 10.70s 10.87s
Monaco - node (v14.15.1, x64)
Memory used 322,487k (± 0.01%) 322,505k (± 0.01%) +18k (+ 0.01%) 322,451k 322,580k
Parse Time 1.48s (± 1.21%) 1.47s (± 0.67%) -0.01s (- 0.41%) 1.46s 1.50s
Bind Time 0.75s (± 0.80%) 0.75s (± 0.78%) +0.00s (+ 0.13%) 0.74s 0.76s
Check Time 5.17s (± 0.47%) 5.19s (± 0.62%) +0.02s (+ 0.35%) 5.14s 5.29s
Emit Time 3.05s (± 0.48%) 3.05s (± 0.63%) -0.01s (- 0.16%) 3.01s 3.09s
Total Time 10.45s (± 0.36%) 10.46s (± 0.50%) +0.01s (+ 0.08%) 10.37s 10.58s
TFS - node (v14.15.1, x64)
Memory used 287,598k (± 0.00%) 287,603k (± 0.01%) +5k (+ 0.00%) 287,546k 287,651k
Parse Time 1.24s (± 1.29%) 1.25s (± 1.58%) +0.01s (+ 1.13%) 1.22s 1.32s
Bind Time 0.72s (± 0.80%) 0.71s (± 0.31%) -0.01s (- 1.25%) 0.71s 0.72s
Check Time 4.82s (± 0.41%) 4.81s (± 0.58%) -0.01s (- 0.31%) 4.76s 4.89s
Emit Time 3.22s (± 0.60%) 3.21s (± 0.71%) -0.01s (- 0.37%) 3.15s 3.26s
Total Time 10.00s (± 0.24%) 9.98s (± 0.43%) -0.02s (- 0.20%) 9.93s 10.14s
material-ui - node (v14.15.1, x64)
Memory used 448,640k (± 0.01%) 448,619k (± 0.00%) -21k (- 0.00%) 448,565k 448,672k
Parse Time 1.78s (± 0.65%) 1.78s (± 0.81%) +0.01s (+ 0.34%) 1.74s 1.80s
Bind Time 0.69s (± 0.71%) 0.70s (± 0.64%) +0.00s (+ 0.58%) 0.69s 0.71s
Check Time 13.04s (± 0.70%) 13.00s (± 0.51%) -0.05s (- 0.35%) 12.85s 13.15s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.51s (± 0.61%) 15.48s (± 0.46%) -0.03s (- 0.22%) 15.36s 15.65s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-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 (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
Benchmark Name Iterations
Current 44219 10
Baseline master 10

Developer Information:

Download Benchmark

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented May 24, 2021

@ahejlsberg the Node 10 check time numbers have me a little bit concerned. Any idea what could have caused that?

CC @amcasey

@ahejlsberg
Copy link
Member Author

ahejlsberg commented May 24, 2021

The Node 10 check time numbers have me a little bit concerned. Any idea what could have caused that?

Those deltas are all in the noise. If you don't like them, just run the tests again. 😉

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented May 24, 2021

@typescript-bot perf test this

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 24, 2021

Heya @DanielRosenwasser, I've started to run the perf test suite on this PR at 634b01a. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 25, 2021

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

Here they are:

Comparison Report - master..44219

Metric master 44219 Delta Best Worst
Angular - node (v10.16.3, x64)
Memory used 343,861k (± 0.01%) 343,944k (± 0.02%) +83k (+ 0.02%) 343,732k 344,115k
Parse Time 1.79s (± 0.56%) 1.80s (± 0.52%) +0.01s (+ 0.39%) 1.78s 1.82s
Bind Time 0.83s (± 0.63%) 0.84s (± 0.60%) +0.00s (+ 0.48%) 0.83s 0.85s
Check Time 5.21s (± 0.36%) 5.21s (± 0.46%) +0.01s (+ 0.13%) 5.17s 5.28s
Emit Time 5.44s (± 0.49%) 5.44s (± 0.57%) -0.00s (- 0.00%) 5.36s 5.51s
Total Time 13.27s (± 0.34%) 13.29s (± 0.26%) +0.02s (+ 0.13%) 13.17s 13.34s
Compiler-Unions - node (v10.16.3, x64)
Memory used 200,391k (± 0.03%) 200,371k (± 0.03%) -20k (- 0.01%) 200,212k 200,529k
Parse Time 0.78s (± 0.93%) 0.78s (± 0.83%) 0.00s ( 0.00%) 0.77s 0.80s
Bind Time 0.53s (± 1.04%) 0.53s (± 1.69%) -0.01s (- 1.13%) 0.51s 0.54s
Check Time 7.56s (± 0.75%) 7.54s (± 0.65%) -0.02s (- 0.28%) 7.44s 7.64s
Emit Time 2.24s (± 1.93%) 2.24s (± 0.81%) -0.01s (- 0.22%) 2.19s 2.28s
Total Time 11.12s (± 0.63%) 11.09s (± 0.48%) -0.03s (- 0.28%) 10.96s 11.19s
Monaco - node (v10.16.3, x64)
Memory used 340,438k (± 0.02%) 340,392k (± 0.02%) -46k (- 0.01%) 340,275k 340,514k
Parse Time 1.44s (± 1.06%) 1.45s (± 0.70%) +0.00s (+ 0.28%) 1.42s 1.47s
Bind Time 0.74s (± 0.90%) 0.74s (± 0.60%) -0.00s (- 0.27%) 0.73s 0.75s
Check Time 5.35s (± 0.60%) 5.38s (± 0.41%) +0.02s (+ 0.41%) 5.31s 5.42s
Emit Time 2.96s (± 0.81%) 2.94s (± 0.67%) -0.02s (- 0.57%) 2.89s 2.98s
Total Time 10.50s (± 0.29%) 10.50s (± 0.33%) +0.01s (+ 0.08%) 10.43s 10.58s
TFS - node (v10.16.3, x64)
Memory used 303,947k (± 0.03%) 304,017k (± 0.03%) +70k (+ 0.02%) 303,867k 304,345k
Parse Time 1.18s (± 0.69%) 1.18s (± 0.85%) +0.01s (+ 0.68%) 1.17s 1.21s
Bind Time 0.71s (± 0.71%) 0.70s (± 0.79%) -0.00s (- 0.43%) 0.69s 0.71s
Check Time 4.87s (± 0.61%) 4.89s (± 0.56%) +0.02s (+ 0.35%) 4.83s 4.94s
Emit Time 3.04s (± 1.25%) 3.07s (± 0.62%) +0.03s (+ 0.95%) 3.03s 3.10s
Total Time 9.79s (± 0.65%) 9.85s (± 0.40%) +0.05s (+ 0.55%) 9.74s 9.92s
material-ui - node (v10.16.3, x64)
Memory used 471,565k (± 0.01%) 471,636k (± 0.01%) +71k (+ 0.02%) 471,499k 471,818k
Parse Time 1.74s (± 0.58%) 1.74s (± 0.64%) 0.00s ( 0.00%) 1.71s 1.76s
Bind Time 0.66s (± 0.79%) 0.66s (± 0.84%) +0.00s (+ 0.15%) 0.65s 0.67s
Check Time 14.23s (± 0.50%) 14.20s (± 0.50%) -0.02s (- 0.17%) 14.06s 14.36s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 16.62s (± 0.45%) 16.60s (± 0.42%) -0.02s (- 0.15%) 16.46s 16.73s
Angular - node (v12.1.0, x64)
Memory used 322,057k (± 0.02%) 322,114k (± 0.02%) +57k (+ 0.02%) 321,992k 322,292k
Parse Time 1.78s (± 0.49%) 1.77s (± 0.42%) -0.01s (- 0.56%) 1.75s 1.78s
Bind Time 0.82s (± 0.79%) 0.83s (± 0.70%) +0.00s (+ 0.61%) 0.81s 0.84s
Check Time 5.09s (± 0.37%) 5.10s (± 0.45%) +0.01s (+ 0.24%) 5.06s 5.14s
Emit Time 5.66s (± 0.82%) 5.68s (± 0.50%) +0.02s (+ 0.28%) 5.62s 5.73s
Total Time 13.36s (± 0.42%) 13.38s (± 0.39%) +0.02s (+ 0.17%) 13.24s 13.46s
Compiler-Unions - node (v12.1.0, x64)
Memory used 187,663k (± 0.12%) 187,786k (± 0.07%) +123k (+ 0.07%) 187,399k 187,964k
Parse Time 0.77s (± 0.84%) 0.77s (± 1.04%) 0.00s ( 0.00%) 0.75s 0.79s
Bind Time 0.53s (± 0.69%) 0.53s (± 1.04%) +0.01s (+ 1.14%) 0.52s 0.54s
Check Time 7.00s (± 0.38%) 7.02s (± 0.85%) +0.02s (+ 0.23%) 6.95s 7.18s
Emit Time 2.26s (± 0.82%) 2.24s (± 0.80%) -0.02s (- 0.89%) 2.20s 2.28s
Total Time 10.55s (± 0.31%) 10.55s (± 0.68%) +0.00s (+ 0.00%) 10.47s 10.75s
Monaco - node (v12.1.0, x64)
Memory used 323,464k (± 0.01%) 323,450k (± 0.02%) -14k (- 0.00%) 323,341k 323,634k
Parse Time 1.41s (± 0.53%) 1.40s (± 0.72%) -0.01s (- 0.43%) 1.38s 1.42s
Bind Time 0.71s (± 1.05%) 0.72s (± 0.93%) +0.00s (+ 0.56%) 0.70s 0.73s
Check Time 5.20s (± 0.40%) 5.20s (± 0.57%) -0.00s (- 0.06%) 5.13s 5.26s
Emit Time 2.98s (± 0.50%) 3.00s (± 0.50%) +0.02s (+ 0.60%) 2.96s 3.03s
Total Time 10.30s (± 0.32%) 10.31s (± 0.42%) +0.01s (+ 0.12%) 10.21s 10.43s
TFS - node (v12.1.0, x64)
Memory used 288,555k (± 0.02%) 288,566k (± 0.02%) +12k (+ 0.00%) 288,471k 288,672k
Parse Time 1.18s (± 0.66%) 1.19s (± 0.62%) +0.01s (+ 0.93%) 1.17s 1.21s
Bind Time 0.69s (± 0.84%) 0.69s (± 1.32%) +0.00s (+ 0.29%) 0.67s 0.71s
Check Time 4.78s (± 0.30%) 4.76s (± 0.44%) -0.02s (- 0.42%) 4.73s 4.81s
Emit Time 3.11s (± 0.56%) 3.11s (± 0.75%) +0.00s (+ 0.06%) 3.05s 3.16s
Total Time 9.75s (± 0.31%) 9.74s (± 0.47%) -0.00s (- 0.04%) 9.63s 9.84s
material-ui - node (v12.1.0, x64)
Memory used 450,297k (± 0.01%) 450,354k (± 0.01%) +57k (+ 0.01%) 450,246k 450,490k
Parse Time 1.71s (± 0.62%) 1.72s (± 0.50%) +0.01s (+ 0.41%) 1.70s 1.74s
Bind Time 0.63s (± 0.57%) 0.64s (± 0.96%) +0.01s (+ 1.10%) 0.63s 0.65s
Check Time 12.72s (± 0.40%) 12.76s (± 0.54%) +0.04s (+ 0.32%) 12.62s 12.97s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.07s (± 0.40%) 15.12s (± 0.44%) +0.05s (+ 0.37%) 15.00s 15.33s
Angular - node (v14.15.1, x64)
Memory used 320,822k (± 0.01%) 320,826k (± 0.00%) +3k (+ 0.00%) 320,794k 320,857k
Parse Time 1.79s (± 0.69%) 1.79s (± 0.29%) +0.00s (+ 0.06%) 1.78s 1.80s
Bind Time 0.87s (± 0.55%) 0.87s (± 0.60%) +0.00s (+ 0.23%) 0.86s 0.88s
Check Time 5.10s (± 0.57%) 5.11s (± 0.56%) +0.01s (+ 0.27%) 5.07s 5.20s
Emit Time 5.70s (± 0.61%) 5.69s (± 0.54%) -0.01s (- 0.18%) 5.62s 5.75s
Total Time 13.46s (± 0.43%) 13.46s (± 0.40%) +0.01s (+ 0.04%) 13.37s 13.62s
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,743k (± 0.02%) 189,425k (± 0.38%) -318k (- 0.17%) 186,506k 189,826k
Parse Time 0.80s (± 0.83%) 0.80s (± 0.65%) +0.00s (+ 0.12%) 0.79s 0.82s
Bind Time 0.56s (± 0.85%) 0.55s (± 0.67%) -0.00s (- 0.36%) 0.55s 0.56s
Check Time 7.15s (± 0.84%) 7.12s (± 0.34%) -0.03s (- 0.38%) 7.08s 7.20s
Emit Time 2.27s (± 1.04%) 2.26s (± 0.86%) -0.02s (- 0.70%) 2.22s 2.32s
Total Time 10.78s (± 0.66%) 10.74s (± 0.26%) -0.04s (- 0.35%) 10.67s 10.78s
Monaco - node (v14.15.1, x64)
Memory used 322,491k (± 0.01%) 322,482k (± 0.00%) -9k (- 0.00%) 322,464k 322,528k
Parse Time 1.46s (± 0.57%) 1.46s (± 0.73%) -0.00s (- 0.07%) 1.44s 1.49s
Bind Time 0.75s (± 0.91%) 0.75s (± 1.11%) -0.00s (- 0.13%) 0.73s 0.77s
Check Time 5.18s (± 0.60%) 5.16s (± 0.42%) -0.02s (- 0.35%) 5.11s 5.20s
Emit Time 3.06s (± 0.70%) 3.05s (± 0.62%) -0.01s (- 0.46%) 3.01s 3.09s
Total Time 10.45s (± 0.40%) 10.41s (± 0.34%) -0.03s (- 0.32%) 10.32s 10.51s
TFS - node (v14.15.1, x64)
Memory used 287,590k (± 0.01%) 287,577k (± 0.00%) -12k (- 0.00%) 287,554k 287,604k
Parse Time 1.25s (± 1.74%) 1.24s (± 1.02%) -0.01s (- 1.20%) 1.21s 1.27s
Bind Time 0.71s (± 0.67%) 0.71s (± 0.31%) -0.00s (- 0.28%) 0.71s 0.72s
Check Time 4.80s (± 0.29%) 4.81s (± 0.35%) +0.01s (+ 0.21%) 4.76s 4.85s
Emit Time 3.21s (± 1.02%) 3.22s (± 0.79%) +0.01s (+ 0.31%) 3.17s 3.29s
Total Time 9.97s (± 0.40%) 9.97s (± 0.25%) +0.00s (+ 0.01%) 9.92s 10.02s
material-ui - node (v14.15.1, x64)
Memory used 448,521k (± 0.06%) 448,613k (± 0.00%) +92k (+ 0.02%) 448,576k 448,655k
Parse Time 1.77s (± 0.94%) 1.77s (± 0.56%) -0.01s (- 0.39%) 1.75s 1.80s
Bind Time 0.69s (± 0.75%) 0.69s (± 0.48%) +0.00s (+ 0.15%) 0.68s 0.70s
Check Time 12.97s (± 0.57%) 13.00s (± 0.52%) +0.03s (+ 0.19%) 12.80s 13.15s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 15.43s (± 0.53%) 15.46s (± 0.47%) +0.02s (+ 0.16%) 15.26s 15.63s
System
Machine Namets-ci-ubuntu
Platformlinux 4.4.0-206-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 (v14.15.1, x64)
Scenarios
  • Angular - node (v10.16.3, x64)
  • Angular - node (v12.1.0, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v10.16.3, x64)
  • Compiler-Unions - node (v12.1.0, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v10.16.3, x64)
  • Monaco - node (v12.1.0, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v10.16.3, x64)
  • TFS - node (v12.1.0, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v10.16.3, x64)
  • material-ui - node (v12.1.0, x64)
  • material-ui - node (v14.15.1, x64)
Benchmark Name Iterations
Current 44219 10
Baseline master 10

Developer Information:

Download Benchmark

@ahejlsberg
Copy link
Member Author

ahejlsberg commented May 25, 2021

@DanielRosenwasser There we go, basically no difference!

@DanielRosenwasser
Copy link
Member

DanielRosenwasser commented May 25, 2021

That's amazing! I can't believe you drove down those numbers in just a few hours!

@typescript-bot cherry-pick this to release-4.3 and LKG

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 25, 2021

Heya @DanielRosenwasser, I've started to run the task to cherry-pick this into release-4.3 on this PR at 634b01a. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 25, 2021

Hey @DanielRosenwasser, I've opened #44243 for you.

typescript-bot pushed a commit to typescript-bot/TypeScript that referenced this pull request May 25, 2021
Component commits:
4475012 Improve getNonNullableType function

86f09ae Add tests

d45806a More closely match previous behavior

634b01a Add non-strict mode test
@DanielRosenwasser DanielRosenwasser merged commit 3938958 into master May 25, 2021
10 checks passed
@DanielRosenwasser DanielRosenwasser deleted the fix43425 branch May 25, 2021
DanielRosenwasser pushed a commit that referenced this pull request May 25, 2021
…e-4.3 (#44243)

* Cherry-pick PR #44219 into release-4.3

Component commits:
4475012 Improve getNonNullableType function

86f09ae Add tests

d45806a More closely match previous behavior

634b01a Add non-strict mode test

* Update LKG

Co-authored-by: Anders Hejlsberg <andersh@microsoft.com>
Co-authored-by: typescript-bot <typescript@microsoft.com>
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
None yet
Development

Successfully merging this pull request may close these issues.

Can't call ((_: string) => T) | undefined when conditionally string extends T
3 participants