Skip to content

Node-based @deprecated checks - #39323

Merged
Nathan Shively-Sanders (sandersn) merged 7 commits into
masterfrom
node-based-deprecated-checks
Jul 2, 2020
Merged

Node-based @deprecated checks#39323
Nathan Shively-Sanders (sandersn) merged 7 commits into
masterfrom
node-based-deprecated-checks

Conversation

@sandersn

@sandersnNathan Shively-Sanders (sandersn) commented Jun 29, 2020

Copy link
Copy Markdown
Member

Switch the checker to syntactic checks for @deprecated on declarations. This requires a bit more checking of declarations in the
checker at times, but it:

  1. Gets rid of work, and a symbol flag, in the binder.
  2. Skips work in the checker unless there is a @deprecated tag.
  3. Makes it fairly simple to only issue errors on particular signatures of overloaded functions.

Fixes#39212, alternative to #39221 -- and tests are based on #39221's.

Edit: This now fixes part of #39374; JSX elements, decorators and tagged template functions are all calls and were not being marked deprecated.

Switch the checker to syntactic checks for `@deprecated` on
declarations. This requires a bit more checking of declarations in the
checker at times, but it
1. Gets rid of work, and a symbol flag, in the binder.
2. Skips work in the checker unless there is a `@deprecated` tag.
3. Makes it fairly simple to only issue errors on particular signatures
of overloaded functions.
@sandersn

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

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

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the perf test suite on this PR at 8079ec2. You can monitor the build here.

Update: The results are in!

@sandersn

Nathan Shively-Sanders (sandersn) commented Jun 29, 2020

Copy link
Copy Markdown
MemberAuthor

Note: isTypeDeclaration from #39221 is better and should be copied here. I think the tests from here have a few more cases than those in #39221 and should be copied there.

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..39323

Metricmaster39323DeltaBestWorst
Angular - node (v10.16.3, x64)
Memory used343,972k (± 0.02%)343,422k (± 0.02%)-551k (- 0.16%)343,258k343,609k
Parse Time2.02s (± 0.53%)2.01s (± 0.84%)-0.00s (- 0.20%)1.97s2.04s
Bind Time0.82s (± 1.35%)0.82s (± 0.79%)-0.01s (- 0.73%)0.81s0.84s
Check Time4.74s (± 0.50%)4.75s (± 0.62%)+0.01s (+ 0.21%)4.67s4.81s
Emit Time5.19s (± 0.90%)5.21s (± 0.68%)+0.02s (+ 0.35%)5.12s5.28s
Total Time12.77s (± 0.46%)12.79s (± 0.35%)+0.02s (+ 0.18%)12.71s12.89s
Monaco - node (v10.16.3, x64)
Memory used339,078k (± 0.02%)339,148k (± 0.02%)+70k (+ 0.02%)339,015k339,357k
Parse Time1.59s (± 0.56%)1.60s (± 0.57%)+0.00s (+ 0.25%)1.57s1.61s
Bind Time0.72s (± 0.72%)0.72s (± 0.51%)-0.00s (- 0.42%)0.71s0.72s
Check Time4.89s (± 0.36%)4.90s (± 0.67%)+0.01s (+ 0.12%)4.83s4.99s
Emit Time2.76s (± 0.64%)2.76s (± 0.48%)+0.00s (+ 0.00%)2.74s2.79s
Total Time9.97s (± 0.35%)9.98s (± 0.48%)+0.01s (+ 0.07%)9.86s10.11s
TFS - node (v10.16.3, x64)
Memory used301,994k (± 0.01%)301,996k (± 0.01%)+2k (+ 0.00%)301,938k302,083k
Parse Time1.23s (± 0.48%)1.22s (± 0.61%)-0.00s (- 0.24%)1.21s1.24s
Bind Time0.67s (± 0.92%)0.66s (± 1.52%)-0.01s (- 1.04%)0.63s0.68s
Check Time4.39s (± 0.41%)4.39s (± 0.73%)+0.00s (+ 0.00%)4.34s4.46s
Emit Time2.91s (± 1.40%)2.90s (± 1.02%)-0.01s (- 0.45%)2.81s2.94s
Total Time9.20s (± 0.64%)9.18s (± 0.48%)-0.02s (- 0.16%)9.10s9.29s
material-ui - node (v10.16.3, x64)
Memory used459,348k (± 0.01%)459,111k (± 0.01%)-238k (- 0.05%)458,901k459,292k
Parse Time2.06s (± 0.36%)2.05s (± 0.46%)-0.00s (- 0.15%)2.04s2.08s
Bind Time0.66s (± 1.28%)0.66s (± 1.22%)-0.00s (- 0.45%)0.64s0.67s
Check Time13.04s (± 0.63%)12.97s (± 1.03%)-0.07s (- 0.55%)12.79s13.46s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time15.76s (± 0.52%)15.68s (± 0.87%)-0.08s (- 0.49%)15.48s16.17s
Angular - node (v12.1.0, x64)
Memory used321,115k (± 0.02%)320,665k (± 0.03%)-449k (- 0.14%)320,506k320,835k
Parse Time2.01s (± 0.62%)2.00s (± 0.36%)-0.01s (- 0.45%)1.99s2.02s
Bind Time0.81s (± 0.58%)0.80s (± 0.61%)-0.01s (- 0.74%)0.79s0.81s
Check Time4.64s (± 0.34%)4.63s (± 0.34%)-0.01s (- 0.30%)4.59s4.66s
Emit Time5.37s (± 0.55%)5.37s (± 0.81%)-0.00s (- 0.02%)5.29s5.47s
Total Time12.83s (± 0.26%)12.80s (± 0.44%)-0.03s (- 0.23%)12.68s12.93s
Monaco - node (v12.1.0, x64)
Memory used321,525k (± 0.02%)321,535k (± 0.01%)+10k (+ 0.00%)321,458k321,615k
Parse Time1.56s (± 0.86%)1.56s (± 1.13%)-0.00s (- 0.32%)1.51s1.60s
Bind Time0.69s (± 1.66%)0.69s (± 0.32%)-0.00s (- 0.58%)0.68s0.69s
Check Time4.68s (± 0.50%)4.71s (± 0.72%)+0.04s (+ 0.75%)4.63s4.78s
Emit Time2.82s (± 0.68%)2.83s (± 0.37%)+0.01s (+ 0.25%)2.80s2.85s
Total Time9.76s (± 0.28%)9.79s (± 0.40%)+0.03s (+ 0.33%)9.70s9.86s
TFS - node (v12.1.0, x64)
Memory used286,490k (± 0.02%)286,490k (± 0.02%)-0k (- 0.00%)286,338k286,641k
Parse Time1.24s (± 0.88%)1.24s (± 0.61%)+0.00s (+ 0.16%)1.23s1.26s
Bind Time0.64s (± 1.04%)0.64s (± 1.45%)-0.00s (- 0.78%)0.62s0.67s
Check Time4.29s (± 0.50%)4.30s (± 0.70%)+0.00s (+ 0.05%)4.22s4.34s
Emit Time2.92s (± 1.22%)2.93s (± 0.61%)+0.01s (+ 0.31%)2.89s2.97s
Total Time9.10s (± 0.59%)9.11s (± 0.47%)+0.01s (+ 0.13%)9.01s9.21s
material-ui - node (v12.1.0, x64)
Memory used437,563k (± 0.06%)437,406k (± 0.06%)-157k (- 0.04%)436,447k437,656k
Parse Time2.03s (± 0.61%)2.03s (± 0.17%)+0.00s (+ 0.15%)2.03s2.04s
Bind Time0.64s (± 0.70%)0.64s (± 0.93%)-0.00s (- 0.31%)0.62s0.65s
Check Time11.72s (± 0.93%)11.79s (± 0.70%)+0.07s (+ 0.57%)11.60s12.02s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time14.39s (± 0.81%)14.46s (± 0.56%)+0.07s (+ 0.47%)14.28s14.69s
Angular - node (v8.9.0, x64)
Memory used340,394k (± 0.02%)340,019k (± 0.01%)-375k (- 0.11%)339,927k340,119k
Parse Time2.56s (± 0.84%)2.54s (± 0.88%)-0.01s (- 0.59%)2.51s2.60s
Bind Time0.86s (± 1.03%)0.85s (± 0.68%)-0.01s (- 1.39%)0.84s0.86s
Check Time5.35s (± 0.44%)5.36s (± 0.47%)+0.00s (+ 0.04%)5.32s5.43s
Emit Time5.95s (± 1.37%)5.99s (± 0.86%)+0.03s (+ 0.55%)5.89s6.10s
Total Time14.73s (± 0.65%)14.74s (± 0.58%)+0.01s (+ 0.06%)14.61s15.00s
Monaco - node (v8.9.0, x64)
Memory used340,458k (± 0.01%)340,444k (± 0.01%)-14k (- 0.00%)340,383k340,514k
Parse Time1.88s (± 0.40%)1.88s (± 0.47%)-0.00s (- 0.00%)1.86s1.91s
Bind Time0.89s (± 0.63%)0.89s (± 0.38%)-0.00s (- 0.11%)0.88s0.89s
Check Time5.39s (± 0.46%)5.41s (± 0.71%)+0.02s (+ 0.33%)5.33s5.49s
Emit Time3.25s (± 0.69%)3.23s (± 0.59%)-0.02s (- 0.65%)3.20s3.27s
Total Time11.41s (± 0.39%)11.41s (± 0.48%)-0.00s (- 0.02%)11.29s11.53s
TFS - node (v8.9.0, x64)
Memory used303,733k (± 0.02%)303,759k (± 0.02%)+26k (+ 0.01%)303,655k303,864k
Parse Time1.56s (± 0.47%)1.56s (± 0.97%)-0.00s (- 0.00%)1.53s1.60s
Bind Time0.67s (± 0.88%)0.67s (± 0.50%)-0.00s (- 0.59%)0.66s0.68s
Check Time4.97s (± 1.59%)5.03s (± 1.67%)+0.06s (+ 1.21%)4.92s5.21s
Emit Time3.12s (± 2.77%)3.09s (± 3.17%)-0.03s (- 1.02%)2.89s3.22s
Total Time10.32s (± 0.50%)10.35s (± 0.48%)+0.03s (+ 0.24%)10.20s10.42s
material-ui - node (v8.9.0, x64)
Memory used463,627k (± 0.01%)463,361k (± 0.01%)-266k (- 0.06%)463,292k463,551k
Parse Time2.40s (± 0.39%)2.40s (± 0.51%)+0.00s (+ 0.17%)2.37s2.43s
Bind Time0.79s (± 1.15%)0.78s (± 1.28%)-0.01s (- 1.14%)0.76s0.81s
Check Time17.29s (± 1.03%)17.27s (± 1.16%)-0.03s (- 0.15%)16.91s17.79s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time20.48s (± 0.88%)20.45s (± 0.99%)-0.03s (- 0.15%)20.09s20.97s
Angular - node (v8.9.0, x86)
Memory used195,312k (± 0.02%)195,077k (± 0.02%)-235k (- 0.12%)194,999k195,130k
Parse Time2.47s (± 1.05%)2.45s (± 0.64%)-0.03s (- 1.05%)2.41s2.49s
Bind Time1.00s (± 0.37%)0.98s (± 0.63%)-0.01s (- 1.41%)0.97s0.99s
Check Time4.81s (± 0.63%)4.83s (± 0.59%)+0.02s (+ 0.50%)4.75s4.89s
Emit Time5.96s (± 0.70%)5.94s (± 1.10%)-0.03s (- 0.47%)5.72s6.05s
Total Time14.24s (± 0.56%)14.19s (± 0.63%)-0.05s (- 0.34%)13.94s14.38s
Monaco - node (v8.9.0, x86)
Memory used193,434k (± 0.03%)193,448k (± 0.03%)+15k (+ 0.01%)193,331k193,519k
Parse Time1.92s (± 0.90%)1.93s (± 1.19%)+0.02s (+ 0.83%)1.90s2.00s
Bind Time0.70s (± 0.52%)0.71s (± 0.87%)+0.00s (+ 0.71%)0.70s0.73s
Check Time5.50s (± 0.56%)5.51s (± 0.41%)+0.00s (+ 0.09%)5.43s5.54s
Emit Time2.70s (± 0.37%)2.67s (± 0.64%)-0.03s (- 1.22%)2.63s2.70s
Total Time10.82s (± 0.34%)10.82s (± 0.23%)-0.01s (- 0.07%)10.76s10.86s
TFS - node (v8.9.0, x86)
Memory used173,686k (± 0.02%)173,718k (± 0.03%)+31k (+ 0.02%)173,591k173,827k
Parse Time1.60s (± 1.55%)1.58s (± 0.38%)-0.02s (- 1.31%)1.57s1.60s
Bind Time0.64s (± 0.57%)0.64s (± 0.87%)+0.00s (+ 0.31%)0.63s0.65s
Check Time4.68s (± 0.78%)4.65s (± 0.58%)-0.03s (- 0.56%)4.60s4.69s
Emit Time2.82s (± 0.94%)2.79s (± 1.18%)-0.03s (- 1.03%)2.71s2.88s
Total Time9.74s (± 0.47%)9.67s (± 0.52%)-0.07s (- 0.76%)9.55s9.80s
material-ui - node (v8.9.0, x86)
Memory used262,573k (± 0.02%)262,419k (± 0.02%)-153k (- 0.06%)262,343k262,535k
Parse Time2.47s (± 0.53%)2.45s (± 0.50%)-0.01s (- 0.57%)2.42s2.47s
Bind Time0.68s (± 1.10%)0.67s (± 1.86%)-0.00s (- 0.44%)0.65s0.71s
Check Time15.71s (± 0.63%)15.68s (± 0.51%)-0.04s (- 0.22%)15.46s15.82s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time18.85s (± 0.55%)18.81s (± 0.47%)-0.05s (- 0.25%)18.58s18.95s
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)
BenchmarkNameIterations
Current3932310
Baselinemaster10

@Kingwl

Copy link
Copy Markdown
Contributor

TypeScript Bot (@typescript-bot) pack this.

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 30, 2020

Copy link
Copy Markdown
Contributor

Heya Wenlu Wang (@Kingwl), I've started to run the tarball bundle task on this PR at 4b8c75b. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Jun 30, 2020

Copy link
Copy Markdown
Contributor

Hey Wenlu Wang (@Kingwl), 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/78205/artifacts?artifactName=tgz&fileId=98EF0A452AF3E561A3301E65146CDDDCAA10B21D1DAAAF0D81E767BF9F36BD7602&fileName=/typescript-4.0.0-insiders.20200630.tgz"
}
}

and then running npm install.


There is also a playground for this build.

@KingwlWenlu Wang (Kingwl) left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's looks pretty good and simple and faster.

Comment threadsrc/compiler/checker.ts Outdated
Comment threadsrc/compiler/checker.ts Outdated
Comment threadsrc/compiler/checker.ts
Comment threadsrc/compiler/checker.ts

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I couldn't figure out how to reference the constructor symbol, so I left it out.
  2. isCallLikeExpression also supports JSX, tagged templates, and Decorators, so I added tests for those.

(github isn't letting me reply to other comments)

Comment threadsrc/compiler/checker.ts
@sandersn

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Jul 2, 2020

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the perf test suite on this PR at 9eb774b. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..39323

Metricmaster39323DeltaBestWorst
Angular - node (v10.16.3, x64)
Memory used344,007k (± 0.02%)343,480k (± 0.02%)-527k (- 0.15%)343,369k343,637k
Parse Time2.00s (± 0.60%)1.99s (± 0.51%)-0.01s (- 0.50%)1.97s2.02s
Bind Time0.82s (± 0.46%)0.81s (± 0.90%)-0.00s (- 0.37%)0.80s0.83s
Check Time4.71s (± 0.48%)4.73s (± 0.51%)+0.02s (+ 0.36%)4.68s4.78s
Emit Time5.15s (± 0.63%)5.17s (± 0.66%)+0.02s (+ 0.47%)5.11s5.25s
Total Time12.68s (± 0.44%)12.71s (± 0.40%)+0.03s (+ 0.21%)12.61s12.82s
Monaco - node (v10.16.3, x64)
Memory used339,074k (± 0.02%)339,051k (± 0.03%)-23k (- 0.01%)338,864k339,254k
Parse Time1.57s (± 0.64%)1.58s (± 0.42%)+0.01s (+ 0.51%)1.57s1.60s
Bind Time0.71s (± 0.91%)0.71s (± 0.73%)+0.00s (+ 0.14%)0.70s0.72s
Check Time4.85s (± 0.57%)4.89s (± 1.00%)+0.04s (+ 0.82%)4.80s5.00s
Emit Time2.76s (± 1.28%)2.76s (± 0.72%)+0.00s (+ 0.15%)2.72s2.80s
Total Time9.89s (± 0.52%)9.94s (± 0.58%)+0.05s (+ 0.54%)9.82s10.07s
TFS - node (v10.16.3, x64)
Memory used302,025k (± 0.03%)302,008k (± 0.01%)-17k (- 0.01%)301,897k302,093k
Parse Time1.22s (± 0.67%)1.21s (± 0.62%)-0.01s (- 0.57%)1.20s1.23s
Bind Time0.67s (± 0.86%)0.67s (± 1.34%)-0.00s (- 0.75%)0.64s0.69s
Check Time4.37s (± 0.42%)4.39s (± 0.50%)+0.02s (+ 0.55%)4.33s4.43s
Emit Time2.89s (± 1.28%)2.92s (± 0.78%)+0.03s (+ 0.93%)2.86s2.96s
Total Time9.15s (± 0.34%)9.19s (± 0.43%)+0.04s (+ 0.46%)9.11s9.26s
material-ui - node (v10.16.3, x64)
Memory used459,390k (± 0.01%)459,129k (± 0.01%)-261k (- 0.06%)458,997k459,215k
Parse Time2.04s (± 0.37%)2.04s (± 0.38%)-0.01s (- 0.29%)2.02s2.06s
Bind Time0.65s (± 1.59%)0.66s (± 0.93%)+0.01s (+ 1.38%)0.64s0.67s
Check Time12.94s (± 0.52%)12.87s (± 0.78%)-0.07s (- 0.57%)12.76s13.14s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time15.64s (± 0.43%)15.57s (± 0.69%)-0.07s (- 0.48%)15.45s15.86s
Angular - node (v12.1.0, x64)
Memory used321,070k (± 0.03%)320,605k (± 0.02%)-465k (- 0.14%)320,443k320,772k
Parse Time1.99s (± 0.42%)2.00s (± 0.63%)+0.01s (+ 0.40%)1.98s2.03s
Bind Time0.81s (± 0.82%)0.80s (± 1.00%)-0.01s (- 0.99%)0.79s0.82s
Check Time4.60s (± 0.46%)4.61s (± 0.44%)+0.01s (+ 0.33%)4.57s4.65s
Emit Time5.33s (± 0.52%)5.38s (± 0.75%)+0.05s (+ 0.94%)5.28s5.47s
Total Time12.73s (± 0.29%)12.79s (± 0.33%)+0.06s (+ 0.50%)12.71s12.88s
Monaco - node (v12.1.0, x64)
Memory used321,512k (± 0.02%)321,513k (± 0.02%)+1k (+ 0.00%)321,398k321,594k
Parse Time1.54s (± 0.72%)1.56s (± 0.94%)+0.01s (+ 0.71%)1.52s1.59s
Bind Time0.69s (± 0.58%)0.69s (± 0.72%)-0.00s (- 0.44%)0.68s0.70s
Check Time4.65s (± 0.49%)4.66s (± 0.47%)+0.02s (+ 0.37%)4.63s4.73s
Emit Time2.81s (± 0.65%)2.83s (± 0.89%)+0.02s (+ 0.53%)2.78s2.90s
Total Time9.69s (± 0.40%)9.73s (± 0.39%)+0.04s (+ 0.43%)9.65s9.84s
TFS - node (v12.1.0, x64)
Memory used286,472k (± 0.03%)286,529k (± 0.02%)+57k (+ 0.02%)286,412k286,644k
Parse Time1.23s (± 0.71%)1.24s (± 1.19%)+0.01s (+ 0.65%)1.21s1.27s
Bind Time0.64s (± 1.21%)0.64s (± 1.16%)+0.00s (+ 0.16%)0.63s0.66s
Check Time4.29s (± 0.57%)4.29s (± 0.46%)+0.00s (+ 0.09%)4.23s4.33s
Emit Time2.92s (± 0.70%)2.91s (± 0.59%)-0.01s (- 0.21%)2.88s2.94s
Total Time9.07s (± 0.39%)9.08s (± 0.26%)+0.01s (+ 0.07%)9.03s9.12s
material-ui - node (v12.1.0, x64)
Memory used437,734k (± 0.01%)437,383k (± 0.05%)-351k (- 0.08%)436,500k437,595k
Parse Time2.02s (± 0.46%)2.03s (± 0.46%)+0.01s (+ 0.30%)2.01s2.06s
Bind Time0.63s (± 0.94%)0.63s (± 1.11%)-0.00s (- 0.47%)0.61s0.64s
Check Time11.61s (± 0.65%)11.64s (± 1.06%)+0.03s (+ 0.22%)11.42s11.92s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time14.27s (± 0.55%)14.30s (± 0.87%)+0.03s (+ 0.21%)14.08s14.57s
Angular - node (v8.9.0, x64)
Memory used340,442k (± 0.02%)340,076k (± 0.02%)-366k (- 0.11%)339,964k340,208k
Parse Time2.53s (± 0.33%)2.53s (± 0.75%)+0.00s (+ 0.20%)2.50s2.59s
Bind Time0.86s (± 0.69%)0.85s (± 0.94%)-0.01s (- 0.93%)0.83s0.86s
Check Time5.36s (± 0.78%)5.37s (± 0.70%)+0.00s (+ 0.07%)5.29s5.45s
Emit Time5.92s (± 1.14%)5.90s (± 1.83%)-0.02s (- 0.41%)5.67s6.10s
Total Time14.67s (± 0.57%)14.64s (± 0.95%)-0.02s (- 0.16%)14.35s14.93s
Monaco - node (v8.9.0, x64)
Memory used340,431k (± 0.02%)340,462k (± 0.01%)+30k (+ 0.01%)340,336k340,547k
Parse Time1.87s (± 0.54%)1.87s (± 0.32%)+0.00s (+ 0.05%)1.86s1.88s
Bind Time0.88s (± 0.25%)0.88s (± 0.59%)+0.00s (+ 0.23%)0.87s0.89s
Check Time5.36s (± 0.69%)5.40s (± 0.61%)+0.04s (+ 0.80%)5.33s5.47s
Emit Time3.21s (± 0.65%)3.21s (± 0.82%)-0.01s (- 0.22%)3.16s3.29s
Total Time11.32s (± 0.45%)11.36s (± 0.43%)+0.04s (+ 0.31%)11.24s11.47s
TFS - node (v8.9.0, x64)
Memory used303,759k (± 0.02%)303,773k (± 0.02%)+15k (+ 0.00%)303,644k303,911k
Parse Time1.55s (± 0.65%)1.54s (± 0.34%)-0.01s (- 0.39%)1.53s1.55s
Bind Time0.67s (± 0.50%)0.67s (± 0.92%)-0.00s (- 0.15%)0.65s0.68s
Check Time4.92s (± 1.49%)5.03s (± 1.58%)+0.11s (+ 2.28%)4.87s5.17s
Emit Time3.10s (± 2.51%)3.04s (± 2.88%)-0.06s (- 1.84%)2.88s3.22s
Total Time10.24s (± 0.42%)10.29s (± 0.53%)+0.05s (+ 0.47%)10.18s10.39s
material-ui - node (v8.9.0, x64)
Memory used463,661k (± 0.02%)463,409k (± 0.02%)-252k (- 0.05%)463,291k463,722k
Parse Time2.39s (± 0.51%)2.38s (± 0.40%)-0.01s (- 0.38%)2.36s2.40s
Bind Time0.78s (± 1.56%)0.76s (± 1.17%)-0.01s (- 1.42%)0.75s0.79s
Check Time17.16s (± 0.88%)17.18s (± 0.63%)+0.02s (+ 0.13%)16.86s17.39s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time20.32s (± 0.71%)20.32s (± 0.57%)+0.00s (+ 0.00%)19.97s20.55s
Angular - node (v8.9.0, x86)
Memory used195,313k (± 0.03%)195,048k (± 0.03%)-264k (- 0.14%)194,923k195,182k
Parse Time2.47s (± 1.39%)2.47s (± 0.87%)+0.00s (+ 0.08%)2.43s2.52s
Bind Time0.99s (± 1.03%)0.99s (± 1.13%)-0.01s (- 0.61%)0.96s1.02s
Check Time4.82s (± 0.49%)4.79s (± 0.48%)-0.03s (- 0.62%)4.75s4.84s
Emit Time5.95s (± 0.80%)5.96s (± 1.25%)+0.01s (+ 0.12%)5.82s6.19s
Total Time14.23s (± 0.59%)14.21s (± 0.60%)-0.03s (- 0.20%)14.04s14.41s
Monaco - node (v8.9.0, x86)
Memory used193,467k (± 0.02%)193,466k (± 0.02%)-1k (- 0.00%)193,356k193,542k
Parse Time1.92s (± 0.53%)1.91s (± 0.80%)-0.01s (- 0.47%)1.89s1.96s
Bind Time0.70s (± 0.49%)0.69s (± 0.53%)-0.00s (- 0.29%)0.69s0.70s
Check Time5.47s (± 0.28%)5.48s (± 1.53%)+0.01s (+ 0.20%)5.17s5.60s
Emit Time2.68s (± 1.09%)2.72s (± 2.56%)+0.04s (+ 1.42%)2.62s2.98s
Total Time10.76s (± 0.29%)10.81s (± 0.44%)+0.04s (+ 0.40%)10.72s10.91s
TFS - node (v8.9.0, x86)
Memory used173,716k (± 0.02%)173,708k (± 0.02%)-9k (- 0.00%)173,646k173,800k
Parse Time1.58s (± 0.76%)1.58s (± 0.94%)0.00s ( 0.00%)1.56s1.63s
Bind Time0.64s (± 1.20%)0.64s (± 0.91%)+0.00s (+ 0.31%)0.63s0.65s
Check Time4.64s (± 0.76%)4.66s (± 0.56%)+0.02s (+ 0.39%)4.58s4.72s
Emit Time2.78s (± 1.37%)2.82s (± 1.54%)+0.03s (+ 1.22%)2.71s2.90s
Total Time9.65s (± 0.55%)9.70s (± 0.67%)+0.05s (+ 0.52%)9.54s9.80s
material-ui - node (v8.9.0, x86)
Memory used262,525k (± 0.02%)262,426k (± 0.01%)-99k (- 0.04%)262,321k262,477k
Parse Time2.46s (± 0.48%)2.46s (± 1.02%)-0.00s (- 0.12%)2.42s2.55s
Bind Time0.67s (± 1.35%)0.67s (± 1.25%)-0.01s (- 0.89%)0.65s0.68s
Check Time15.69s (± 0.64%)15.72s (± 0.73%)+0.03s (+ 0.20%)15.50s16.03s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time18.82s (± 0.57%)18.84s (± 0.68%)+0.02s (+ 0.13%)18.59s19.13s
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)
BenchmarkNameIterations
Current3932310
Baselinemaster10

@sandersn

Copy link
Copy Markdown
MemberAuthor

TypeScript Bot (@typescript-bot) perf test this

@typescript-bot

TypeScript Bot (typescript-bot) commented Jul 2, 2020

Copy link
Copy Markdown
Contributor

Heya Nathan Shively-Sanders (@sandersn), I've started to run the perf test suite on this PR at 9eb774b. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Nathan Shively-Sanders (@sandersn)
The results of the perf run you requested are in!

Here they are:

Comparison Report - master..39323

Metricmaster39323DeltaBestWorst
Angular - node (v10.16.3, x64)
Memory used344,007k (± 0.02%)343,376k (± 0.02%)-632k (- 0.18%)343,253k343,512k
Parse Time2.00s (± 0.60%)2.00s (± 0.72%)-0.01s (- 0.35%)1.97s2.03s
Bind Time0.82s (± 0.46%)0.81s (± 0.93%)-0.00s (- 0.12%)0.80s0.84s
Check Time4.71s (± 0.48%)4.72s (± 0.47%)+0.01s (+ 0.19%)4.68s4.78s
Emit Time5.15s (± 0.63%)5.18s (± 0.83%)+0.03s (+ 0.64%)5.11s5.27s
Total Time12.68s (± 0.44%)12.72s (± 0.42%)+0.04s (+ 0.29%)12.61s12.84s
Monaco - node (v10.16.3, x64)
Memory used339,074k (± 0.02%)339,166k (± 0.02%)+92k (+ 0.03%)339,040k339,330k
Parse Time1.57s (± 0.64%)1.57s (± 0.60%)-0.00s (- 0.06%)1.56s1.60s
Bind Time0.71s (± 0.91%)0.71s (± 0.66%)+0.00s (+ 0.28%)0.70s0.72s
Check Time4.85s (± 0.57%)4.86s (± 0.53%)+0.01s (+ 0.14%)4.82s4.93s
Emit Time2.76s (± 1.28%)2.75s (± 0.40%)-0.01s (- 0.22%)2.73s2.77s
Total Time9.89s (± 0.52%)9.89s (± 0.35%)+0.00s (+ 0.01%)9.81s9.97s
TFS - node (v10.16.3, x64)
Memory used302,025k (± 0.03%)301,998k (± 0.03%)-26k (- 0.01%)301,799k302,167k
Parse Time1.22s (± 0.67%)1.22s (± 0.56%)-0.00s (- 0.33%)1.20s1.23s
Bind Time0.67s (± 0.86%)0.66s (± 1.01%)-0.01s (- 1.04%)0.64s0.67s
Check Time4.37s (± 0.42%)4.39s (± 0.40%)+0.02s (+ 0.50%)4.35s4.43s
Emit Time2.89s (± 1.28%)2.90s (± 1.05%)+0.01s (+ 0.38%)2.80s2.95s
Total Time9.15s (± 0.34%)9.17s (± 0.46%)+0.02s (+ 0.21%)9.03s9.26s
material-ui - node (v10.16.3, x64)
Memory used459,390k (± 0.01%)459,061k (± 0.01%)-328k (- 0.07%)458,961k459,207k
Parse Time2.04s (± 0.37%)2.04s (± 0.73%)-0.00s (- 0.05%)2.02s2.09s
Bind Time0.65s (± 1.59%)0.65s (± 2.14%)-0.00s (- 0.46%)0.62s0.67s
Check Time12.94s (± 0.52%)12.94s (± 0.64%)+0.00s (+ 0.01%)12.81s13.08s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time15.64s (± 0.43%)15.64s (± 0.56%)-0.01s (- 0.04%)15.50s15.79s
Angular - node (v12.1.0, x64)
Memory used321,070k (± 0.03%)320,690k (± 0.02%)-380k (- 0.12%)320,468k320,854k
Parse Time1.99s (± 0.42%)1.98s (± 0.67%)-0.01s (- 0.45%)1.96s2.01s
Bind Time0.81s (± 0.82%)0.80s (± 0.50%)-0.01s (- 1.36%)0.79s0.81s
Check Time4.60s (± 0.46%)4.62s (± 0.60%)+0.02s (+ 0.41%)4.56s4.68s
Emit Time5.33s (± 0.52%)5.36s (± 0.66%)+0.03s (+ 0.47%)5.30s5.43s
Total Time12.73s (± 0.29%)12.76s (± 0.46%)+0.03s (+ 0.20%)12.68s12.88s
Monaco - node (v12.1.0, x64)
Memory used321,512k (± 0.02%)321,540k (± 0.01%)+28k (+ 0.01%)321,433k321,645k
Parse Time1.54s (± 0.72%)1.54s (± 0.84%)+0.00s (+ 0.06%)1.52s1.57s
Bind Time0.69s (± 0.58%)0.68s (± 0.70%)-0.01s (- 0.87%)0.68s0.70s
Check Time4.65s (± 0.49%)4.66s (± 0.28%)+0.01s (+ 0.32%)4.64s4.69s
Emit Time2.81s (± 0.65%)2.80s (± 0.75%)-0.02s (- 0.57%)2.75s2.84s
Total Time9.69s (± 0.40%)9.69s (± 0.24%)-0.00s (- 0.02%)9.62s9.72s
TFS - node (v12.1.0, x64)
Memory used286,472k (± 0.03%)286,526k (± 0.02%)+54k (+ 0.02%)286,384k286,668k
Parse Time1.23s (± 0.71%)1.24s (± 0.98%)+0.01s (+ 0.41%)1.21s1.27s
Bind Time0.64s (± 1.21%)0.64s (± 0.93%)-0.00s (- 0.47%)0.63s0.65s
Check Time4.29s (± 0.57%)4.29s (± 0.57%)+0.01s (+ 0.19%)4.22s4.34s
Emit Time2.92s (± 0.70%)2.93s (± 0.99%)+0.01s (+ 0.41%)2.88s2.99s
Total Time9.07s (± 0.39%)9.09s (± 0.45%)+0.02s (+ 0.23%)9.03s9.18s
material-ui - node (v12.1.0, x64)
Memory used437,734k (± 0.01%)437,292k (± 0.07%)-441k (- 0.10%)436,419k437,609k
Parse Time2.02s (± 0.46%)2.03s (± 0.66%)+0.01s (+ 0.25%)2.00s2.06s
Bind Time0.63s (± 0.94%)0.63s (± 1.48%)-0.01s (- 0.95%)0.61s0.64s
Check Time11.61s (± 0.65%)11.67s (± 1.22%)+0.06s (+ 0.48%)11.40s12.04s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time14.27s (± 0.55%)14.33s (± 1.09%)+0.05s (+ 0.39%)14.05s14.71s
Angular - node (v8.9.0, x64)
Memory used340,442k (± 0.02%)340,082k (± 0.02%)-360k (- 0.11%)340,000k340,261k
Parse Time2.53s (± 0.33%)2.53s (± 0.87%)+0.00s (+ 0.20%)2.50s2.59s
Bind Time0.86s (± 0.69%)0.84s (± 0.56%)-0.01s (- 1.52%)0.84s0.86s
Check Time5.36s (± 0.78%)5.36s (± 0.84%)-0.00s (- 0.09%)5.28s5.46s
Emit Time5.92s (± 1.14%)5.94s (± 1.41%)+0.01s (+ 0.25%)5.75s6.10s
Total Time14.67s (± 0.57%)14.67s (± 0.59%)+0.00s (+ 0.03%)14.47s14.87s
Monaco - node (v8.9.0, x64)
Memory used340,431k (± 0.02%)340,472k (± 0.02%)+40k (+ 0.01%)340,295k340,547k
Parse Time1.87s (± 0.54%)1.87s (± 0.64%)-0.00s (- 0.21%)1.85s1.91s
Bind Time0.88s (± 0.25%)0.88s (± 0.77%)+0.01s (+ 0.57%)0.87s0.90s
Check Time5.36s (± 0.69%)5.36s (± 0.76%)+0.00s (+ 0.04%)5.28s5.45s
Emit Time3.21s (± 0.65%)3.21s (± 0.70%)-0.00s (- 0.06%)3.17s3.29s
Total Time11.32s (± 0.45%)11.32s (± 0.42%)-0.00s (- 0.04%)11.25s11.43s
TFS - node (v8.9.0, x64)
Memory used303,759k (± 0.02%)303,805k (± 0.02%)+47k (+ 0.02%)303,707k303,927k
Parse Time1.55s (± 0.65%)1.54s (± 0.40%)-0.01s (- 0.52%)1.53s1.55s
Bind Time0.67s (± 0.50%)0.67s (± 0.71%)-0.00s (- 0.45%)0.66s0.68s
Check Time4.92s (± 1.49%)4.98s (± 1.72%)+0.06s (+ 1.22%)4.86s5.16s
Emit Time3.10s (± 2.51%)3.06s (± 2.32%)-0.04s (- 1.26%)2.92s3.17s
Total Time10.24s (± 0.42%)10.25s (± 0.37%)+0.01s (+ 0.08%)10.16s10.34s
material-ui - node (v8.9.0, x64)
Memory used463,661k (± 0.02%)463,334k (± 0.01%)-327k (- 0.07%)463,161k463,458k
Parse Time2.39s (± 0.51%)2.38s (± 0.41%)-0.01s (- 0.29%)2.36s2.40s
Bind Time0.78s (± 1.56%)0.77s (± 1.24%)-0.01s (- 1.16%)0.74s0.79s
Check Time17.16s (± 0.88%)17.25s (± 0.62%)+0.09s (+ 0.52%)17.01s17.56s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time20.32s (± 0.71%)20.39s (± 0.52%)+0.07s (+ 0.34%)20.16s20.71s
Angular - node (v8.9.0, x86)
Memory used195,313k (± 0.03%)195,104k (± 0.03%)-208k (- 0.11%)194,964k195,240k
Parse Time2.47s (± 1.39%)2.45s (± 0.43%)-0.02s (- 0.65%)2.43s2.48s
Bind Time0.99s (± 1.03%)0.98s (± 0.97%)-0.01s (- 0.61%)0.97s1.01s
Check Time4.82s (± 0.49%)4.82s (± 0.58%)-0.00s (- 0.02%)4.78s4.91s
Emit Time5.95s (± 0.80%)5.90s (± 0.65%)-0.05s (- 0.87%)5.80s5.96s
Total Time14.23s (± 0.59%)14.16s (± 0.31%)-0.08s (- 0.54%)14.07s14.24s
Monaco - node (v8.9.0, x86)
Memory used193,467k (± 0.02%)193,433k (± 0.02%)-33k (- 0.02%)193,365k193,529k
Parse Time1.92s (± 0.53%)1.90s (± 0.55%)-0.01s (- 0.68%)1.89s1.94s
Bind Time0.70s (± 0.49%)0.70s (± 0.71%)-0.00s (- 0.14%)0.69s0.71s
Check Time5.47s (± 0.28%)5.48s (± 0.58%)+0.02s (+ 0.27%)5.40s5.54s
Emit Time2.68s (± 1.09%)2.67s (± 0.53%)-0.02s (- 0.63%)2.64s2.70s
Total Time10.76s (± 0.29%)10.75s (± 0.40%)-0.01s (- 0.12%)10.68s10.83s
TFS - node (v8.9.0, x86)
Memory used173,716k (± 0.02%)173,723k (± 0.03%)+7k (+ 0.00%)173,626k173,859k
Parse Time1.58s (± 0.76%)1.59s (± 1.11%)+0.01s (+ 0.32%)1.56s1.64s
Bind Time0.64s (± 1.20%)0.64s (± 1.19%)+0.00s (+ 0.16%)0.63s0.66s
Check Time4.64s (± 0.76%)4.62s (± 0.51%)-0.02s (- 0.37%)4.57s4.68s
Emit Time2.78s (± 1.37%)2.78s (± 0.61%)-0.00s (- 0.07%)2.74s2.81s
Total Time9.65s (± 0.55%)9.63s (± 0.46%)-0.02s (- 0.19%)9.53s9.72s
material-ui - node (v8.9.0, x86)
Memory used262,525k (± 0.02%)262,415k (± 0.02%)-110k (- 0.04%)262,319k262,567k
Parse Time2.46s (± 0.48%)2.43s (± 0.74%)-0.02s (- 0.98%)2.40s2.48s
Bind Time0.67s (± 1.35%)0.67s (± 1.43%)-0.00s (- 0.75%)0.65s0.69s
Check Time15.69s (± 0.64%)15.71s (± 0.90%)+0.02s (+ 0.10%)15.47s16.04s
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)0.00s ( NaN%)0.00s0.00s
Total Time18.82s (± 0.57%)18.81s (± 0.78%)-0.01s (- 0.05%)18.56s19.18s
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)
BenchmarkNameIterations
Current3932310
Baselinemaster10

@sandersn

Copy link
Copy Markdown
MemberAuthor

Overall, there's still a good bit of variation in our perf tests. But the perf on this is still pretty good even after supporting JSX et al. I'm going to merge this since I've addressed all the comments on it and in unblocks #39388.

@sandersn
Nathan Shively-Sanders (sandersn) deleted the node-based-deprecated-checks branch July 2, 2020 21:10
@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Oct 21, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

document.createElement always marked deprecated

4 participants

@sandersn@typescript-bot@Kingwl@DanielRosenwasser