ESLint: la incorporación de linting multihilo mejora la velocidad hasta 3 veces en proyectos grandes
(eslint.org)Resumen clave
- ESLint v9.34.0 añade linting multihilo, lo que permite procesar varios archivos al mismo tiempo.
- El objetivo es reducir de forma significativa el tiempo de linting en codebases grandes.
- Se concreta oficialmente una función que llevaba más de 10 años preparándose.
Qué mejoró
- Aprovecha mejor los núcleos de CPU para reducir el tiempo total de lint mediante procesamiento en paralelo.
- Es especialmente efectivo en monorepos o repositorios grandes con muchos archivos.
Cómo usarlo
- En la CLI se ofrece una opción para controlar la concurrencia (cantidad de hilos), por ejemplo, una configuración relacionada con
concurrency. - Puedes ajustar el valor de concurrencia según tu proyecto o entorno de CI para encontrar el punto óptimo.
Limitaciones y precauciones
- Hay casos reportados en los que el rendimiento no alcanza lo esperado al ejecutarlo mediante algunos wrappers externos o herramientas de integración; esto varía según la combinación de entorno y herramientas.
- Como es una función reciente, se recomienda validar tanto el rendimiento como la estabilidad en CI y en local al incorporarla al flujo de lint.
Consejos de adopción
- En lugar de habilitarlo para todo el repositorio de una sola vez, conviene adoptarlo gradualmente por directorios mientras se encuentra el valor de concurrencia adecuado.
- En CI, ajusta en conjunto la caché y la estrategia de paralelización, y revisa primero las reglas o plugins con mayores cuellos de botella, como IO de archivos o tiempo de ejecución de reglas.
Comentario en una línea
- "El esperado linting en paralelo: ya es momento de buscar una mejora perceptible en el tiempo de lint de proyectos grandes."
Aún no hay comentarios.