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

Repo (or org): add tooling to generate baselines of memory and time during linting #8087

Open
JoshuaKGoldberg opened this issue Dec 18, 2023 · 1 comment
Labels
accepting prs Go ahead, send a pull request that resolves this issue documentation Documentation ("docs") that needs adding/updating performance Issues regarding performance repo maintenance things to do with maintenance of the repo, and not with code/docs

Comments

@JoshuaKGoldberg
Copy link
Member

Suggestion

Every once in a while, one of us will hop onto a call with a team to try to diagnose why their type checked linting is running slowly. We'll see something like hundreds of MBs (or even a few GB) being taken up, and/or seconds-to-minutes to run. It's hard for us to give advice as to whether those measurements are normal without knowing the normal baselines for different projects:

  • Files: dozens, hundreds, thousands of files?
  • Structure: one project, a few project references, dozens of project references?
  • Types complexity: straightforward usage, and/or many conditional types, and/or libraries such as Zod?

Proposal: let's make a dedicated package? repository? something? that can:

  1. Deterministically codegen various projects across those different scales
  2. Report rough space and time taken for typed linting

We'd then be able to know whether projects of similar scales are running with the expected space/time parameters.

This is really part of #6218. Maybe this issue can track a more comprehensive performance solution, while that can track the initial "get it done"?

@JoshuaKGoldberg JoshuaKGoldberg added triage Waiting for maintainers to take a look documentation Documentation ("docs") that needs adding/updating performance Issues regarding performance repo maintenance things to do with maintenance of the repo, and not with code/docs labels Dec 18, 2023
@JoshuaKGoldberg
Copy link
Member Author

@kaleidawave's JoshuaKGoldberg/dot-com#143 (comment) brings up a good idea: we could use this to showcase performance issues! I.e. all the major points in https://typescript-eslint.io/linting/troubleshooting/performance-troubleshooting could be given comparison tables showing the impact of those points. At the very least I'd love to have concrete details for eslint-plugin-import and eslint-plugin-prettier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepting prs Go ahead, send a pull request that resolves this issue documentation Documentation ("docs") that needs adding/updating performance Issues regarding performance repo maintenance things to do with maintenance of the repo, and not with code/docs
Projects
None yet
Development

No branches or pull requests

1 participant