SCT

กำลังเตรียมประสบการณ์ดิจิทัล

Cloudflare พอร์ตตัวคอมไพเลอร์ TypeScript เป็นภาษา Rust ชื่อ tsrs เร็วขึ้นสูงสุด 8 เท่า ใช้หน่วยความจำน้อยลงราว 70%: ทีมเว็บได้อะไร และควรลองเมื่อไร

ทีมที่เขียนเว็บด้วย TypeScript เสียเวลาไม่น้อยกับการรอให้คอมไพเลอร์ตรวจชนิดข้อมูลของโค้ดทั้งโปรเจกต์ ทั้งตอนเขียนและตอนรันระบบ CI Cloudflare ร่วมกับทีม VoidZero และทีม TypeScript เปิดตัว tsrs ซึ่งเป็นการพอร์ตคอมไพเลอร์ TypeScript ไปเป็นภาษา Rust ผลวัดของผู้พัฒนาระบุว่าเร็วกว่า TypeScript 7.0 สูงสุด 8 เท่า และใช้หน่วยความจำน้อยลงราว 70% แม้ตอนนี้ยังเป็นรุ่นทดลอง

ทีมที่เขียนเว็บด้วย TypeScript เสียเวลาไม่น้อยกับการรอให้คอมไพเลอร์ตรวจชนิดข้อมูลของโค้ดทั้งโปรเจกต์ ทั้งตอนเขียนและตอนรันระบบ CI Cloudflare ร่วมกับทีม VoidZero และทีม TypeScript เปิดตัว tsrs ซึ่งเป็นการพอร์ตคอมไพเลอร์ TypeScript ไปเป็นภาษา Rust ผลวัดของผู้พัฒนาระบุว่าเร็วกว่า TypeScript 7.0 สูงสุด 8 เท่า และใช้หน่วยความจำน้อยลงราว 70% แม้ตอนนี้ยังเป็นรุ่นทดลอง

tsrs คืออะไร และต่างจาก TypeScript 7 อย่างไร

TypeScript รุ่นดั้งเดิมเขียนด้วย JavaScript ต่อมาทีม TypeScript ของ Microsoft พอร์ตไปเป็นภาษา Go จนกลายเป็น TypeScript 7 ซึ่งเร็วขึ้นมาก tsrs เป็นอีกเส้นทางหนึ่งที่พอร์ตไปเป็นภาษา Rust โดยพัฒนาภายใต้ชุดเครื่องมือ Oxc และทำงานใกล้ชิดกับทีม TypeScript ผู้พัฒนาย้ำว่าไม่ใช่การแยกภาษาออกไปเอง การออกแบบภาษายังเป็นอำนาจของทีม TypeScript และ tsrs ต้องตามการตัดสินใจนั้นทุกครั้ง

เร็วขึ้นแค่ไหน

ผลวัดที่ Cloudflare เผยแพร่ (เทียบด้วยการตั้งค่าเดียวกัน)
ตัวเทียบผล
tsrs เทียบ TypeScript 7.0เร็วกว่าสูงสุด 8 เท่า · หน่วยความจำน้อยกว่าราว 70%
TypeScript 7.1 beta เทียบ 7.0เร็วกว่าสูงสุด 2.5 เท่า (ส่วนหนึ่งมาจากการปรับที่ค้นพบระหว่างทำ tsrs)
tsrs โหมดปรับตามเครื่อง (ค่าเริ่มต้น)เร็วขึ้นอีกแต่ใช้หน่วยความจำมากขึ้น (ไม่ได้ระบุตัวเลข)

จุดที่น่าสนใจคือ Cloudflare บอกว่าทำงานร่วมกับทีม TypeScript ให้การเทียบใช้การตั้งค่าเดียวกันจริง ต่างจากผลวัดของโปรเจกต์พอร์ตอื่นที่มักเทียบคนละเงื่อนไข และการปรับประสิทธิภาพบางส่วนถูกส่งกลับเข้า TypeScript รุ่น Go ด้วย ผู้ใช้ TypeScript ทั่วไปจึงได้ประโยชน์แม้ไม่ได้เปลี่ยนมาใช้ tsrs

ทำไมเลือก Rust แทน Go

เหตุผลหลักคือ WebAssembly (รูปแบบโปรแกรมที่รันได้ในเบราว์เซอร์และแพลตฟอร์มอย่าง Cloudflare Workers) โปรแกรมภาษา Go ที่คอมไพล์เป็น WebAssembly ต้องพกตัวเก็บกวาดหน่วยความจำของ Go ไปด้วย ส่วน Rust จัดการหน่วยความจำเองโดยตรง จึงประหยัดกว่ามากเมื่อรันในสภาพแวดล้อมแบบนั้น เป้าหมายที่ Cloudflare บอกคือทำให้เครื่องมือพัฒนาเต็มรูปแบบรันได้ในเบราว์เซอร์หรือในกล่องจำลองที่ให้เอเจนต์ AI ใช้งาน โดยไม่ต้องมีเครื่องเซิร์ฟเวอร์แยก

สถานะตอนนี้และข้อควรรู้ก่อนลอง

  • เป็นรุ่นทดลอง ติดตั้งด้วย npm install tsrs แล้วเรียก npx tsrs และมีแพ็กเกจ @tsrs/wasm สำหรับ WebAssembly
  • ผลลัพธ์ยังต่างจาก TypeScript ต้นฉบับบางจุด เช่น ลำดับการแสดงข้อผิดพลาด ผู้พัฒนาตั้งใจลดความต่างก่อนออกรุ่นเสถียร
  • แผนต่อไป รวมกับโปรเจกต์ tsc-rs ให้เป็นแพ็กเกจเดียวที่รองรับทุกความสามารถ รวมถึงการทำงานกับตัวแก้ไขโค้ดผ่าน LSP
  • วิธีดูแล ใช้เอเจนต์ตรวจการเปลี่ยนแปลงของ TypeScript ต้นทางทุกเช้าและทดสอบความเข้ากันได้ทุกคืน แบบเดียวกับโปรเจกต์ Vinext

คำแนะนำสำหรับทีมส่วนใหญ่คือยังไม่ต้องย้ายระบบหลักมาใช้ tsrs แต่ลองรันเทียบในเครื่องหรือใน CI แยกได้ ว่าโปรเจกต์ของเราตรวจได้ผลตรงกันและเร็วขึ้นแค่ไหน ส่วนการอัปเกรดไป TypeScript 7.x ซึ่งเป็นรุ่นทางการ เป็นทางที่ได้ความเร็วเพิ่มทันทีโดยมีความเสี่ยงน้อยกว่า

สำหรับทีมพัฒนาไทย เวลาที่รอคอมไพเลอร์และ CI สะสมเป็นต้นทุนจริงของทุกโปรเจกต์ การติดตามเครื่องมือแบบนี้ช่วยให้รู้ว่าเมื่อไรควรอัปเกรด อ่านแนวคิดคล้ายกันได้ที่Vinext ใช้ Next.js บน Vite ทีมงาน Smart Cyber Tech พัฒนาเว็บแอปด้วย TypeScript ทั้งฝั่งหน้าเว็บและระบบหลังบ้าน พร้อมวางระบบ build ที่เร็ว ปรึกษาได้ที่ แบบฟอร์มติดต่อ

สรุปสาระสำคัญ

  • tsrs คืออะไร และต่างจาก TypeScript 7 อย่างไร
  • เร็วขึ้นแค่ไหน
  • ทำไมเลือก Rust แทน Go
แหล่งอ้างอิงเรียบเรียงจาก The Cloudflare Blog — อ่านบทความต้นฉบับ
ภาพปก: The Cloudflare Blog · ลิขสิทธิ์ภาพเป็นของเจ้าของต้นฉบับ ใช้ประกอบการรายงานพร้อมอ้างอิงแหล่งที่มา
มีคำถามเพิ่มเติมเกี่ยวกับบทความนี้? เขียนหาเราได้ที่ info@smart-cyber-tech.com
บริการที่เกี่ยวข้องจากทีมงาน Smart Cyber Tech

บทความอื่นที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง

ย้ายเว็บ Next.js ไปรันที่ไหนก็ได้: Vinext 1.0 ของ Cloudflare สร้างแอป Next.js ด้วย Vite และย้าย prerender ไปทำหลัง deploy เว็บ

ย้ายเว็บ Next.js ไปรันที่ไหนก็ได้: Vinext 1.0 ของ Cloudflare สร้างแอป Next.js ด้วย Vite และย้าย prerender ไปทำหลัง deploy

ทีมที่ทำเว็บด้วย Next.js มักเจอคำถามเดียวกันเมื่อเว็บโตขึ้น คือจะย้ายไปรันบนแพลตฟอร์มอื่นได้แค่ไหนโดยไม่ต้องเขียนใหม่ Cloudflare ออก Vinext 1.0 เฟรมเวิร์กโอเพนซอร์สที่สร้างแอป Next.js เดิมด้วย Vite แทนเครื่องมือ build ของ Next.js ทำให้ deploy ได้ทั้ง Cloudflare Workers, Netlify และ AWS Lambda รองรับทั้ง App Router และ Pages Router และผ่านชุดทดสอบของ Next.js ในส่วนที่ลูกค้าใช้จริงเกิน 99%

อ่านบทความ
GitHub ย้ายรันไทม์ของ Copilot จาก TypeScript 430,000 บรรทัดเป็น Rust 830,000 บรรทัดใน 14 สัปดาห์ด้วยเอเจนต์ AI: วิธีทำ ตัวเลขจริง และข้อผิดพลาด 5 แบบที่หลุดออกไป DevOps

GitHub ย้ายรันไทม์ของ Copilot จาก TypeScript 430,000 บรรทัดเป็น Rust 830,000 บรรทัดใน 14 สัปดาห์ด้วยเอเจนต์ AI: วิธีทำ ตัวเลขจริง และข้อผิดพลาด 5 แบบที่หลุดออกไป

GitHub เล่าเมื่อวันที่ 16 กันยายน 2026 ว่าย้ายรันไทม์ของเอเจนต์ Copilot ซึ่งเดิมเป็น TypeScript ราว 430,000 บรรทัด ไปเป็น Rust ที่จบด้วยโค้ดใช้งานจริง 832,378 บรรทัด ภายใน 14 สัปดาห์ครึ่ง โดยมีวิศวกรกำกับหลักเพียงคนเดียวและให้เอเจนต์ AI เขียนโค้ดเกือบทั้งหมดผ่าน pull request 128 รายการ ประเด็นสำหรับทีมพัฒนาไทยไม่ใช่ว่าควรเปลี่ยนไปใช้ Rust แต่คือวิธีจัดการงานเขียนใหม่ขนาดใหญ่ด้วยเอเจนต์ให้ระบบไม่หยุดให้บริการ บทความนี้สรุปเหตุผล กลยุทธ์แทนที่ทีละชิ้น ตัวเลขจากบันทึกเซสชัน และข้อผิดพลาด 5 แบบที่หลุดออกไปพร้อมวิธีกัน

อ่านบทความ
GitHub เลิกใช้ CSS-in-JS ย้ายไป CSS Modules: หน้าเว็บเรนเดอร์ฝั่งเซิร์ฟเวอร์เร็วขึ้น 55% และบทเรียนการย้ายระบบใหญ่แบบค่อยเป็นค่อยไป เว็บ

GitHub เลิกใช้ CSS-in-JS ย้ายไป CSS Modules: หน้าเว็บเรนเดอร์ฝั่งเซิร์ฟเวอร์เร็วขึ้น 55% และบทเรียนการย้ายระบบใหญ่แบบค่อยเป็นค่อยไป

เว็บที่สร้างด้วย React หลายแห่งเขียนสไตล์ไว้ในโค้ด JavaScript ซึ่งสะดวกตอนพัฒนา แต่ทำให้หน้าเว็บต้องรอคำนวณสไตล์ตอนโหลด GitHub ใช้เวลาราวสามปี ย้ายระบบออกแบบ Primer ทั้งหมดไปใช้ไฟล์ CSS ธรรมดาแบบ CSS Modules จนเวลาเรนเดอร์หน้าฝั่งเซิร์ฟเวอร์ลดลง 55% บทความนี้สรุปว่าทำไมการ ship CSS เป็นไฟล์จริงถึงเร็วกว่า และวิธีที่ GitHub ย้ายโดยไม่ทำให้หน้าเว็บที่คนใช้อยู่พัง

อ่านบทความ

ติดต่อเพื่อขอรับคำปรึกษาจากทีมงาน

ตั้งแต่ประเมินระบบปัจจุบัน วางแผน จนถึงลงมือพัฒนา — คุยกับเราได้โดยไม่มีค่าใช้จ่าย

ปรึกษาทีมของเรา