ESLint: 멀티스레드 린팅 도입으로 대규모 프로젝트 속도 최대 3배 개선
(eslint.org)핵심 요약
- ESLint v9.34.0에 멀티스레드 린팅이 추가되어 여러 파일을 동시에 처리할 수 있게 됨.
- 대규모 코드베이스에서 린팅 시간이 의미 있게 단축되는 것을 목표로 함.
- 10년 넘게 준비되던 기능을 마무리해 공식 도입.
무엇이 좋아졌나
- CPU 코어를 더 잘 활용해 병렬 처리로 전체 린트 시간을 줄임.
- 특히 파일 수가 많은 모노레포/대형 리포에 효과적.
사용 방법
- CLI에서 동시성(스레드 수)을 제어하는 옵션이 제공됨(예: concurrency 관련 설정).
- 프로젝트/CI 환경에 맞게 동시성 값을 조절해 최적점을 찾을 수 있음.
제약·주의 사항
- 일부 외부 래퍼/통합 도구로 실행할 때는 기대만큼 성능이 안 나오는 보고 사례가 있음(환경/도구 조합에 따라 상이).
- 최신 기능이므로 린트 플로우에 도입 시 CI와 로컬 모두에서 성능/안정성을 함께 검증 권장.
도입 팁
- 리포 전체를 한 번에 올리기보다 디렉터리 단위로 점진 도입하면서 적정 동시성 값을 찾기.
- CI에서는 캐시와 병렬 전략을 함께 조정하고, 병목(파일 IO, 규칙 실행 시간)이 큰 규칙/플러그인을 우선 점검.
한줄평
- “기다리던 병렬 린팅, 대형 프로젝트 린트 시간의 체감 개선을 노려볼 시점.”