Open jorisw opened 8 months ago
That doesn't sound accurate to me; where was that statement made?
The only thing that populates the export map is one of the rules that uses it, so yes, currently any usage of these rules will cause one of them to be very slow (because eslint lacks a "prep" stage/phase where this could be done when needed).
The rules that do not need the export map already do not trigger the building of one.
where was that statement made?
In thread of mine on Discord.
How do we move forward with this?
We build a full ExportMap only in rules that use the ExportMap. Are there any rules that use ExportMap that can be optimized to avoid it?
Hi,
While investigating the performance of our linter setup, I ran a
TIMING=1
type performance scan of my linter rules, and found that unfortunately, when any of the used rules needs an import map, it will look like the first rule who uses it, takes 90+% of the work. Example:eslint-plugin-import
seems to suffer from this most, in fact, when I disable allimport/*
rules, the above issue goes away: the time spent between rules is more balanced. Example:Discussing with the ESLint maintainers how I might overcome the misbalance in reported time spent, one notable statement came back regarding
eslint-plugin-import
:Would you say this is accurate? Could the the rules who don't need the import map, be made not to trigger the building of one? Or the other way around? Granted I don't fully understand the implication, or its implications.