Skip to content

Strip tags in placeholders - #56458

Closed
Anders Hejlsberg (ahejlsberg) wants to merge 8 commits into
mainfrom
stripTagsInPlaceholders
Closed

Strip tags in placeholders#56458
Anders Hejlsberg (ahejlsberg) wants to merge 8 commits into
mainfrom
stripTagsInPlaceholders

Conversation

@ahejlsberg

Copy link
Copy Markdown
Member

This PR builds on #56434 to strip object type tags in template literal placeholders. We can merge this in case we decide to go that way.

@ahejlsberg

Copy link
Copy Markdown
MemberAuthor

@typescript-bot

TypeScript Bot (typescript-bot) commented Nov 19, 2023

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the parallelized Definitely Typed test suite on this PR at 5741df4. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Nov 19, 2023

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the tsc-only perf test suite on this PR at 5741df4. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Nov 19, 2023

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the diff-based top-repos suite on this PR at 5741df4. You can monitor the build here.

Update: The results are in!

@typescript-bot

TypeScript Bot (typescript-bot) commented Nov 19, 2023

Copy link
Copy Markdown
Contributor

Heya Anders Hejlsberg (@ahejlsberg), I've started to run the diff-based user code test suite on this PR at 5741df4. You can monitor the build here.

Update: The results are in!

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg)
The results of the perf run you requested are in!

Here they are:

Compiler

Comparison Report - baseline..pr
MetricbaselineprDeltaBestWorstp-value
Angular - node (v18.15.0, x64)
Memory used295,195k (± 0.01%)295,190k (± 0.01%)~295,139k295,226kp=0.873 n=6
Parse Time2.64s (± 0.24%)2.65s (± 0.28%)~2.64s2.66sp=0.081 n=6
Bind Time0.82s (± 0.63%)0.83s (± 1.08%)~0.82s0.84sp=0.190 n=6
Check Time8.05s (± 0.24%)8.05s (± 0.16%)~8.03s8.06sp=1.000 n=6
Emit Time7.08s (± 0.32%)7.08s (± 0.42%)~7.03s7.11sp=0.571 n=6
Total Time18.59s (± 0.20%)18.61s (± 0.24%)~18.52s18.64sp=0.192 n=6
Compiler-Unions - node (v18.15.0, x64)
Memory used192,635k (± 1.54%)191,684k (± 1.28%)~190,651k196,678kp=0.298 n=6
Parse Time1.36s (± 0.93%)1.36s (± 0.86%)~1.35s1.38sp=0.801 n=6
Bind Time0.72s (± 0.00%)0.72s (± 0.00%)~0.72s0.72sp=1.000 n=6
Check Time9.18s (± 0.53%)9.19s (± 0.39%)~9.15s9.23sp=1.000 n=6
Emit Time2.64s (± 0.62%)2.64s (± 0.20%)~2.63s2.64sp=0.560 n=6
Total Time13.89s (± 0.35%)13.90s (± 0.24%)~13.87s13.94sp=0.686 n=6
Monaco - node (v18.15.0, x64)
Memory used347,363k (± 0.01%)347,344k (± 0.00%)~347,326k347,367kp=0.109 n=6
Parse Time2.46s (± 0.47%)2.45s (± 0.40%)~2.44s2.46sp=0.209 n=6
Bind Time0.92s (± 0.59%)0.92s (± 0.56%)~0.92s0.93sp=0.640 n=6
Check Time6.91s (± 0.32%)6.92s (± 0.20%)~6.90s6.93sp=0.934 n=6
Emit Time4.05s (± 0.13%)4.04s (± 0.41%)~4.01s4.06sp=0.114 n=6
Total Time14.35s (± 0.18%)14.33s (± 0.17%)~14.30s14.37sp=0.373 n=6
TFS - node (v18.15.0, x64)
Memory used302,616k (± 0.00%)302,634k (± 0.01%)~302,593k302,708kp=0.470 n=6
Parse Time2.01s (± 0.86%)1.99s (± 1.14%)~1.95s2.01sp=0.124 n=6
Bind Time1.00s (± 1.36%)1.00s (± 1.17%)~0.99s1.02sp=0.550 n=6
Check Time6.27s (± 0.30%)6.28s (± 0.36%)~6.25s6.31sp=0.746 n=6
Emit Time3.59s (± 0.65%)3.57s (± 0.40%)~3.55s3.59sp=0.252 n=6
Total Time12.87s (± 0.36%)12.83s (± 0.19%)~12.80s12.86sp=0.170 n=6
material-ui - node (v18.15.0, x64)
Memory used470,554k (± 0.00%)470,565k (± 0.00%)~470,538k470,598kp=0.471 n=6
Parse Time2.57s (± 0.40%)2.57s (± 0.25%)~2.56s2.58sp=0.654 n=6
Bind Time0.99s (± 0.41%)1.00s (± 0.75%)+0.01s (+ 1.01%)0.99s1.01sp=0.024 n=6
Check Time16.64s (± 0.41%)16.67s (± 0.20%)~16.61s16.71sp=0.470 n=6
Emit Time0.00s (± 0.00%)0.00s (± 0.00%)~0.00s0.00sp=1.000 n=6
Total Time20.20s (± 0.34%)20.23s (± 0.18%)~20.17s20.27sp=0.422 n=6
xstate - node (v18.15.0, x64)
Memory used512,805k (± 0.01%)512,797k (± 0.01%)~512,766k512,839kp=0.810 n=6
Parse Time3.27s (± 0.23%)3.27s (± 0.27%)~3.26s3.28sp=0.798 n=6
Bind Time1.55s (± 0.33%)1.54s (± 0.68%)~1.53s1.56sp=0.794 n=6
Check Time2.85s (± 0.29%)2.85s (± 0.48%)~2.83s2.87sp=0.195 n=6
Emit Time0.08s (± 0.00%)0.08s (± 4.99%)~0.08s0.09sp=0.405 n=6
Total Time7.74s (± 0.13%)7.75s (± 0.13%)~7.73s7.76sp=0.548 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Angular - node (v18.15.0, x64)
  • Compiler-Unions - node (v18.15.0, x64)
  • Monaco - node (v18.15.0, x64)
  • TFS - node (v18.15.0, x64)
  • material-ui - node (v18.15.0, x64)
  • xstate - node (v18.15.0, x64)
BenchmarkNameIterations
Currentpr6
Baselinebaseline6

Developer Information:

Download Benchmarks

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg) Here are the results of running the user test suite comparing main and refs/pull/56458/merge:

There were infrastructure failures potentially unrelated to your change:

  • 2 instances of "Package install failed"

Otherwise...

Something interesting changed - please have a look.

Details

puppeteer

packages/browsers/test/src/tsconfig.json

@typescript-bot

Copy link
Copy Markdown
Contributor

Hey Anders Hejlsberg (@ahejlsberg), the results of running the DT tests are ready.
Everything looks the same!
You can check the log here.

@typescript-bot

Copy link
Copy Markdown
Contributor

Anders Hejlsberg (@ahejlsberg) Here are the results of running the top-repos suite comparing main and refs/pull/56458/merge:

Everything looks good!

@jakebailey

Copy link
Copy Markdown
Member

Given the leak problem is not new, I personally prefer #56434 unless there's some major performance wins happening. I still need to test it (though I think you said you did?)

TypeScript Bot (@typescript-bot) pack this

Will Stamper (@epmatsw) Is there any chance you could try this build compared to nightly on your codebase from #52345? This is not a revert of #48044 (in that it doesn't reduce everything to string), so I'm curious as to the perf difference. Maybe if you're bored you can also try #56434 (comment)

@typescript-bot

TypeScript Bot (typescript-bot) commented Nov 20, 2023

Copy link
Copy Markdown
Contributor

Heya Jake Bailey (@jakebailey), I've started to run the tarball bundle task on this PR at 5741df4. You can monitor the build here.

@typescript-bot

TypeScript Bot (typescript-bot) commented Nov 20, 2023

Copy link
Copy Markdown
Contributor

Hey Jake Bailey (@jakebailey), 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/158706/artifacts?artifactName=tgz&fileId=E6A8BCB0EF65FF921D64598A0CE099A22405C83217C5F0D64D8784C7C9564EA202&fileName=/typescript-5.4.0-insiders.20231120.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@5.4.0-pr-56458-11".;

@epmatsw

Copy link
Copy Markdown

Jake Bailey (@jakebailey)

Doesn't seem like either has much of an effect, but it does look like something in an upcoming release did!

VersionTime (s)
5.2.267
5.3.267
5.4.0-dev.2023112047
#5643449
#5645849

@jakebailey

Copy link
Copy Markdown
Member

Curious; would be interesting to bisect that using something like https://www.npmjs.com/package/every-ts, e.g.:

$ every-ts bisect start
$ every-ts bisect old 5.3.2
$ every-ts bisect new 5.4.0-dev.20231120
$ every-ts tsc ...
$ every-ts bisect <old|new>...

@epmatsw

Copy link
Copy Markdown

5.4.0-dev.20231107 seems to be the first "fast" version

@epmatsw

Copy link
Copy Markdown

Which makes sense, that has #55926

@jakebailey

Copy link
Copy Markdown
Member

Oh, right. And that actually helped on your real-world case? That's good, at least, though a little suspect to be narrowing something to itself.

@microsoftMicrosoft (microsoft) locked as resolved and limited conversation to collaborators Oct 16, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Author: TeamFor Uncommitted BugPR for untriaged, rejected, closed or missing bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@ahejlsberg@typescript-bot@jakebailey@epmatsw