ทำไมการเขียนเครื่องมือใหม่ด้วย Rust ถึงกลายเป็นคำตอบเรื่องความเร็ว
แนวโน้ม Rust-powered build tools คือการนำภาษา Rust มาเขียนส่วนแกนของระบบ build และการประมวลผลเอกสารใหม่ เพื่อให้ทำงานได้เร็วขึ้นตั้งแต่ 40 ถึงมากกว่า 60 เปอร์เซ็นต์ ลดเวลา build ได้อย่างชัดเจน และตัดคอขวดด้านประสิทธิภาพของเครื่องมือ JavaScript แบบเดิมที่ต้องพึ่งปลั๊กอินจำนวนมาก ส่งผลให้ทั้งกระบวนการประมวลผล Markdown เร็ว การเรนเดอร์โค้ด และการเข้าถึงฐานข้อมูลตอบสนองไวขึ้น ผู้พัฒนาไม่ต้องรอคิวงานที่ใช้เวลาเป็นนาทีซ้ำแล้วซ้ำเล่า แต่สามารถวนลูปทดลอง แก้ไข และ deploy ได้ถี่ขึ้นในแต่ละวัน จุดที่น่าสนใจคือ Rust ไม่ได้มาแทนที่ระบบทั้งหมด แต่เข้าไปนั่งอยู่ใน critical path เช่นตัว parser และคอมไพเลอร์แล้วค่อยเปิดให้โลก JavaScript ต่อปลั๊กอินบนชั้นบาง ๆ ที่ยืดหยุ่นกว่า นี่คือการประนีประนอมระหว่างความเร็วระดับ native กับ ecosystem ขนาดใหญ่ที่นักพัฒนาใช้งานอยู่แล้ว

Astro 7.0 กับ Sätteri เครื่องประมวลผล Markdown/MDX ที่หั่นเวลารอ build ทิ้ง
ตัวอย่างที่แรงที่สุดของเครื่องมือพัฒนา Rust คือ Sätteri ซึ่งทีม Astro นำมาเป็นหัวใจของ Astro 7.0 ในฐานะ Markdown และ MDX processor ประสิทธิภาพสูงที่สร้างด้วย Rust จากเดิมเป็นแพ็กเกจให้เลือกใช้ในเวอร์ชัน 6.4 ตอนนี้ถูกดันขึ้นมาเป็นดีฟอลต์ของเฟรมเวิร์กแล้ว ตัวเลขที่ออกมาถือว่าเปลี่ยนเกม การใช้ Sätteri ทำให้ Astro รายงานว่า build เร็วขึ้นได้สูงสุดถึงประมาณ 60 เปอร์เซ็นต์ เมื่อย้ายเว็บไซต์เอกสารของ Astro และ Cloudflare ไปใช้ Sätteri เวลา build ลดลงมากกว่าหนึ่งนาทีต่อครั้ง และภาพรวม Astro 7 มีการปรับปรุงเวลา build ตั้งแต่ 15 ถึง 61 เปอร์เซ็นต์ สำหรับทีมที่ต้อง build วันละหลายสิบครั้ง นี่คือกำไรชั่วโมงการทำงานที่ได้กลับมาแบบตรงไปตรงมา เบื้องหลังความเร็วคือการย้ายกระบวนการ parsing ออกจาก JavaScript ไปอยู่ใน Rust แทน และตัดท่อ unified เดิมที่ต้องรัน remark rehype และ dependency ยาวเหยียดทีละปลั๊กอินบน syntax tree เต็ม ๆ ผลลัพธ์คือ pipeline ที่ทั้งเร็วและใช้ dependency น้อยลงราว 100 แพ็กเกจ ตามคำอธิบายของ Erika ผู้ดูแล Sätteri ที่ชี้ว่าผู้ใช้ส่วนใหญ่ไม่พึ่ง unified plugins อยู่แล้ว
ประมวลผล Markdown เร็วขึ้นแต่ไม่ทิ้ง ecosystem ปลั๊กอินเดิม
ข้อวิจารณ์สำคัญต่อ Sätteri คือความกังวลว่าการเปลี่ยนจาก unified/rehype มาใช้เครื่องมือ Markdown ที่ไม่รองรับปลั๊กอินกลุ่มเดิม เพื่อแลกกับเวลา build ที่เร็วขึ้น ดูเหมือนจะบังคับให้ผู้ใช้ต้องทิ้ง ecosystem เดิมไปทั้งหมด แต่ผู้สร้าง Sätteri ยืนยันว่าพวกเขาออกแบบ pipeline ให้ pluggable โดยตั้งใจ เพื่อให้โลก unified ยังอยู่ร่วมกับ Sätteri ได้ และยังมีตัวเลือกสำหรับผู้ใช้ที่อยากจะใช้ remark ต่อไปผ่านแพ็กเกจ @astrojs/markdown-remark ตามคู่มืออัปเกรด Astro v7 ที่ให้ใช้คำสั่ง npx @astrojs/upgrade ในการจัดการเวอร์ชัน จุดแข็งที่ทำให้ Sätteri น่าสนใจคือการรองรับ AST รูปแบบเดียวกับ unified ecosystem ทำให้การเขียนปลั๊กอินใหม่บน MDAST หรือ HAST สอดคล้องกับความคุ้นเคยของนักพัฒนา ขณะเดียวกันตัว Sätteri ยังรองรับฟีเจอร์ยอดนิยมเช่น GitHub Flavored Markdown smart punctuation container directives math frontmatter superscript subscript และ wikilinks แบบ native โดยไม่ต้องลงปลั๊กอินเพิ่ม นี่คือแนวทางที่เลือกประสิทธิภาพก่อน แต่ไม่ปิดประตูให้ชุมชนปลั๊กอินในระยะยาว
Inkdrop v6 แสดงให้เห็นว่าเส้นทางสู่ความเร็วไม่ได้มีแค่ Rust
ในฝั่งแอปจดโน้ตสำหรับนักพัฒนา Inkdrop v6 เลือกแนวทางใกล้เคียงกันคือเขียนส่วนสำคัญใหม่ แต่ไม่ได้ใช้ Rust ตรง ๆ ทว่าเปลี่ยนฐานของตัวแก้ไขจากยุค Atom ไปสู่ CodeMirror 6 พร้อมฟีเจอร์ใช้งานจริงเช่น slash commands การแนะนำลิงก์และโน้ตแบบ inline การปรับขนาดรูป และการตรวจคำผิดด้วยระบบของระบบปฏิบัติการ นอกจากนี้ยังปรับตัว Markdown renderer ให้ใช้ง่ายขึ้นผ่าน preview search การปรับปรุง code-block การฝัง GitHub snippets และคอนโทรล Mermaid แบบโต้ตอบ รวมถึงเครื่องมือ AI เช่น inline assistance และ Next Edit Suggestions ที่เป็นตัวเลือกเสริม สิ่งที่สะท้อนโฟกัสด้านประสิทธิภาพชัด ๆ คือการย้าย storage engine ไปใช้ SQLite ทำให้ Inkdrop รายงานการเข้าถึงฐานข้อมูลเร็วขึ้นถึง 13 เท่า และการเรนเดอร์ code-block เร็วขึ้น 23 เท่า พร้อมเพิ่ม build สำหรับแพลตฟอร์ม ARM64 บน Windows และ Linux แม้จะไม่ได้ใช้เครื่องมือพัฒนา Rust โดยตรง แต่แนวคิดคือการย้ายงานหนักไปอยู่ในเลเยอร์ที่เป็น native และออกแบบสถาปัตยกรรมใหม่ให้ตอบโจทย์การทำงานแบบเรียลไทม์
ภาพรวมเทรนด์: เมื่อความเร็วระดับ 40-61% เปลี่ยนวัฒนธรรมการทำงานของทีม dev
ทั้งกรณี Sätteri และ Inkdrop v6 สะท้อนเทรนด์เดียวกันคือการยอมเขียนส่วนแกนของระบบใหม่เพื่อกำจัดคอขวดใน critical path ไม่ว่าจะเป็น build system การประมวลผล Markdown เร็ว หรือการเรนเดอร์และเข้าถึงฐานข้อมูลแบบเรียลไทม์ เมื่อเครื่องมือพัฒนา Rust หรือโซลูชัน native อื่น ๆ สามารถลดเวลา build ได้ตั้งแต่ระดับหลายสิบเปอร์เซ็นต์ไปจนถึงมากกว่า 60 เปอร์เซ็นต์ การรอคอยที่เคยเป็นส่วนหนึ่งของชีวิต dev ก็เริ่มถูกตั้งคำถาม ตัวเลขอย่าง Astro ที่เห็นการปรับปรุงเวลา build ระหว่าง 15 ถึง 61 เปอร์เซ็นต์ รวมกับ Inkdrop ที่เร่งฐานข้อมูล 13 เท่าและการเรนเดอร์โค้ด 23 เท่า ไม่ใช่แค่สวยงามในสไลด์ แต่มันสะท้อนเป็นเวลา feedback loop ที่สั้นลง การ deploy ที่บ่อยขึ้น และความสามารถของทีมในการทดลองสิ่งใหม่โดยไม่ถูกค่าความล่าช้าขัดขวาง แน่นอนว่าการย้ายไปสู่ pipeline แบบใหม่มีค่าความเสี่ยงทั้งเรื่องปลั๊กอินเดิมและการดูแลโค้ด native แต่ในยุคที่ความเร็วแปลเป็นความได้เปรียบในการแข่งขัน การกล้าลงทุนเขียนเครื่องมือใหม่ด้วย Rust และเทคโนโลยี native จึงดูเป็นเดิมพันที่มีเหตุผลมากขึ้นเรื่อย ๆ





