ESLint: Einführung von Multithread-Linting verbessert die Geschwindigkeit großer Projekte um bis zu das Dreifache
(eslint.org)Kernzusammenfassung
- Mit ESLint v9.34.0 wurde Multithread-Linting hinzugefügt, sodass mehrere Dateien gleichzeitig verarbeitet werden können.
- Ziel ist es, die Linting-Zeit in großen Codebasen spürbar zu verkürzen.
- Eine Funktion, die über 10 Jahre vorbereitet wurde, ist damit offiziell eingeführt.
Was wurde besser
- CPU-Kerne werden besser genutzt, wodurch sich die gesamte Linting-Zeit durch Parallelverarbeitung verringert.
- Besonders effektiv bei Monorepos oder großen Repositories mit vielen Dateien.
Verwendung
- In der CLI gibt es eine Option zur Steuerung der Parallelität (Anzahl der Threads), z. B. über Einstellungen rund um
concurrency. - Der Wert für die Parallelität lässt sich passend zur Projekt- oder CI-Umgebung anpassen, um den optimalen Punkt zu finden.
Einschränkungen und Hinweise
- Beim Ausführen über einige externe Wrapper oder Integrationstools gibt es Berichte, dass die Leistung nicht immer wie erwartet ausfällt (abhängig von der Kombination aus Umgebung und Tooling).
- Da es sich um eine neue Funktion handelt, wird empfohlen, bei der Einführung in den Linting-Workflow sowohl in CI als auch lokal Leistung und Stabilität gemeinsam zu prüfen.
Tipps für die Einführung
- Statt das gesamte Repository auf einmal umzustellen, besser schrittweise auf Verzeichnisebene einführen und dabei den passenden Parallelitätswert ermitteln.
- In CI sollten Cache und Parallelisierungsstrategie gemeinsam angepasst werden; außerdem sollten Regeln oder Plugins mit großen Engpässen (Datei-I/O, Ausführungszeit von Regeln) zuerst geprüft werden.
Kurzfazit
- „Das lang erwartete parallele Linting ist da — ein guter Zeitpunkt, um die Linting-Zeiten in großen Projekten spürbar zu verbessern.“
Noch keine Kommentare.