Skip to content

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

Open
@JoshuaKGoldberg

Description

@JoshuaKGoldberg

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"?

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationDocumentation ("docs") that needs adding/updatingperformanceIssues regarding performancerepo maintenancethings to do with maintenance of the repo, and not with code/docsteam assignedA member of the typescript-eslint team should work on this.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions