6 คะแนน โดย beenzinozino 2025-09-02 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp

สรุปประเด็นสำคัญ

  • ESLint v9.34.0 เพิ่มความสามารถในการ lint แบบมัลติเธรด ทำให้ประมวลผลหลายไฟล์พร้อมกันได้
  • มีเป้าหมายเพื่อลดเวลาในการ lint สำหรับโค้ดเบสขนาดใหญ่อย่างมีนัยสำคัญ
  • ฟีเจอร์ที่เตรียมกันมานานกว่า 10 ปีนี้ถูกพัฒนาเสร็จและเปิดใช้อย่างเป็นทางการแล้ว

อะไรที่ดีขึ้น

  • ใช้งาน CPU core ได้คุ้มค่าขึ้นด้วยการประมวลผลแบบขนาน จึงช่วยลดเวลา lint โดยรวม
  • ได้ผลชัดเจนเป็นพิเศษกับ monorepo/รีโพขนาดใหญ่ที่มีจำนวนไฟล์มาก

วิธีใช้งาน

  • ใน CLI มีตัวเลือกสำหรับควบคุม concurrency (จำนวนเธรด) ให้ใช้งานได้แล้ว (เช่น การตั้งค่าที่เกี่ยวข้องกับ concurrency)
  • สามารถปรับค่า concurrency ให้เหมาะกับโปรเจ็กต์หรือสภาพแวดล้อม CI เพื่อหาจุดที่เหมาะสมที่สุดได้

ข้อจำกัดและสิ่งที่ควรระวัง

  • มีรายงานว่าเมื่อรันผ่าน external wrapper/เครื่องมือ integration บางตัว ประสิทธิภาพอาจไม่เป็นไปตามที่คาดหวัง (แตกต่างกันไปตามสภาพแวดล้อมและชุดเครื่องมือ)
  • เนื่องจากเป็นฟีเจอร์ใหม่ จึงแนะนำให้ตรวจสอบทั้งประสิทธิภาพและความเสถียรทั้งใน CI และบนเครื่อง local เมื่อนำไปใช้กับ lint flow

เคล็ดลับในการนำไปใช้

  • แทนที่จะเปิดใช้กับทั้งรีโพในครั้งเดียว ควรเริ่มใช้อย่างค่อยเป็นค่อยไปเป็นรายไดเรกทอรี พร้อมหาค่า concurrency ที่เหมาะสม
  • ใน CI ควรปรับทั้ง cache และกลยุทธ์แบบขนานร่วมกัน พร้อมตรวจสอบกฎ/ปลั๊กอินที่เป็นคอขวดก่อน โดยเฉพาะส่วนที่ใช้ file I/O หรือใช้เวลารันกฎนาน

สรุปสั้นๆ

  • “การ lint แบบขนานที่รอกันมานาน ถึงเวลาลองดูว่าช่วยให้เวลา lint ของโปรเจ็กต์ขนาดใหญ่ดีขึ้นได้แค่ไหน”

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น