Coder Social home page Coder Social logo

Comments (10)

Andarist avatar Andarist commented on April 28, 2024

Would you be able to apply the patch from this PR and test the perf?

from typescript.

MichaelMitchell-at avatar MichaelMitchell-at commented on April 28, 2024

Would you be able to apply the patch from this PR and test the perf?

Sure, will try it now

from typescript.

MichaelMitchell-at avatar MichaelMitchell-at commented on April 28, 2024

Would you be able to apply the patch from this PR and test the perf?

I applied the patch and this brought typechecking time down to ~331 s.

from typescript.

Andarist avatar Andarist commented on April 28, 2024

Is there any difference there between when you typecheck + emit dts and when you just typecheck?

from typescript.

MichaelMitchell-at avatar MichaelMitchell-at commented on April 28, 2024

Is there any difference there between when you typecheck + emit dts and when you just typecheck?

Since this is a composite project, subprojects must emit dts for parent projects to use.

from typescript.

RyanCavanaugh avatar RyanCavanaugh commented on April 28, 2024

We need a way to repro this in order to investigate. None of our perf tests showed a significant drop in performance over the prior release, so it's something specific to the code here that we'd need to be able to look at to make further progress.

from typescript.

MichaelMitchell-at avatar MichaelMitchell-at commented on April 28, 2024

I can send over any traces or profiles you want so long as I can redact any actual code/code paths. Since I lack the knowledge or tools to identify what the performance hotspots in the code actually are (a frustration that arises frequently when trying to optimize our typechecking perf in general), there's just no way for me to construct a shareable repo that can illustrate the regression.

from typescript.

jakebailey avatar jakebailey commented on April 28, 2024

If you use https://www.npmjs.com/package/pprof-it on tsc.js and set PPROF_SANITIZE=true, the output profiles should be free of any references to code or even to the paths on your machine. Getting profiles before/after the bad commit would be most helpful.

from typescript.

MichaelMitchell-at avatar MichaelMitchell-at commented on April 28, 2024

If you use https://www.npmjs.com/package/pprof-it on tsc.js and set PPROF_SANITIZE=true, the output profiles should be free of any references to code or even to the paths on your machine. Getting profiles before/after the bad commit would be most helpful.

Thanks I'll do this over the weekend

from typescript.

MichaelMitchell-at avatar MichaelMitchell-at commented on April 28, 2024

Here are some profiles from pprof-it

Before regression
pprof-heap-17148.pb.gz
pprof-time-17148.pb.gz

After regression
pprof-heap-22618.pb.gz
pprof-time-22618.pb.gz

from typescript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.