ESLint: Pengenalan linting multithread meningkatkan kecepatan hingga 3x pada proyek skala besar
(eslint.org)Ringkasan inti
- ESLint v9.34.0 menambahkan linting multithread sehingga beberapa file kini dapat diproses secara bersamaan.
- Tujuannya adalah memangkas waktu linting secara signifikan pada codebase berskala besar.
- Fitur yang dipersiapkan lebih dari 10 tahun ini akhirnya resmi diperkenalkan.
Apa yang menjadi lebih baik
- Memanfaatkan core CPU dengan lebih baik melalui pemrosesan paralel untuk mengurangi total waktu lint.
- Sangat efektif terutama untuk monorepo atau repositori besar dengan jumlah file yang banyak.
Cara penggunaan
- Tersedia opsi di CLI untuk mengatur concurrency (jumlah thread) (contoh: pengaturan terkait concurrency).
- Nilai concurrency dapat disesuaikan dengan lingkungan proyek/CI untuk menemukan titik optimal.
Batasan dan hal yang perlu diperhatikan
- Ada laporan bahwa saat dijalankan melalui beberapa wrapper/integration tool eksternal, performanya tidak selalu sebaik yang diharapkan (berbeda tergantung kombinasi lingkungan/alat).
- Karena ini fitur terbaru, saat mengadopsinya dalam alur lint, disarankan memverifikasi performa dan stabilitas baik di CI maupun lokal.
Tips adopsi
- Alih-alih langsung menerapkannya ke seluruh repo sekaligus, lakukan adopsi bertahap per direktori sambil mencari nilai concurrency yang tepat.
- Di CI, sesuaikan cache dan strategi paralel secara bersamaan, lalu periksa lebih dulu rule/plugin yang menjadi bottleneck besar (file IO, waktu eksekusi rule).
Komentar singkat
- “Linting paralel yang sudah lama dinantikan; saat yang tepat untuk membidik peningkatan waktu lint yang terasa pada proyek besar.”
Belum ada komentar.