TypeScript Telah Di-porting Ke Rust... Dan 3x Lebih Cepat Dari Go
Original · TypeScript Got Ported To Rust... And It's 3x Faster Than Go
Key Takeaway
Compiler TypeScript yang ditulis dalam bahasa Rust mencapai kecepatan 24 kali lebih cepat dari JavaScript dan hampir tiga kali lebih cepat dari versi Go melalui pengembangan berbasis agen AI.
Highlights
Compiler TypeScript baru yang ditulis dalam bahasa Rust memiliki kecepatan hampir tiga kali lipat lebih cepat dibandingkan versi Go.
Repositori TypeScript dengan 793 file dan sekitar 380.000 baris kode digunakan dalam pengujian perbandingan kinerja.
Compiler Rust menyelesaikan skenario tipe inti yang rusak dalam waktu 0,5 detik, sementara Go membutuhkan 2,2 detik dan JavaScript memakan waktu 13 detik.
Proyek porting ke Rust ini dikembangkan hanya dalam waktu tiga minggu dari commit pertama berkat bantuan agen AI yang dipimpin oleh Claude Opus 5.5.
Versi Rust dari compiler ini berhasil lulus seluruh rangkaian uji yang mencakup lebih dari 13.000 program kecil dengan hasil laporan error yang identik.
Pengemasan compiler sebagai WebAssembly memungkinkan alat pengembang berjalan di dalam kotak sandi dan peramban tanpa perlu menyertakan pengumpul sampah.
Timeline
Pengenalan Compiler TypeScript Berbasis Rust
Microsoft sebelumnya telah memindahkan compiler TypeScript ke Go pada bulan Juli. Namun, kehadiran versi Rust yang baru menawarkan peningkatan kecepatan yang signifikan bagi industri teknologi. Pengujian langsung dilakukan untuk membuktikan klaim kecepatan yang beredar di antara para pengembang.
- Compiler TypeScript baru yang sepenuhnya kompatibel kini telah ditulis dalam bahasa Rust.
- Versi Rust ini memiliki kecepatan hampir tiga kali lipat lebih cepat daripada compiler versi Go.
- Kecepatan pemrosesan antara dua hingga delapan kali lipat diuji secara langsung melalui perbandingan berdampingan.
Perbandingan Kinerja Antara JavaScript, Go, dan Rust
Langkah build konversi kode ke JavaScript berjalan cepat melalui alat seperti ESBuild atau Vite, tetapi pemeriksaan tipe sangat lambat pada basis kode masif. Pengujian empat skenario menunjukkan bahwa Go rata-rata 9 hingga 10 kali lebih cepat daripada JavaScript, sementara Rust melampauinya dengan keunggulan kecepatan hingga 24 kali lipat dari versi JavaScript.
- Pemeriksaan tipe pada basis kode besar merupakan proses yang memakan waktu lama pada compiler lama berbasis JavaScript.
- Repositori TypeScript dengan 793 file dan 380.000 baris kode digunakan untuk menguji empat skenario pengujian yang berbeda.
- Compiler Rust mencatat waktu rata-rata 24 kali lebih cepat daripada JavaScript dan hampir tiga kali lebih cepat daripada Go.
Pengembangan Tiga Minggu Melalui Agen AI
Pengerjaan versi Go membutuhkan waktu hampir dua tahun bagi Microsoft sebelum diumumkan pada Maret 2025. Sebaliknya, porting ke Rust diselesaikan dalam tiga minggu karena agen AI menyalin desain tersebut fungsi demi fungsi dan memperbaiki bagian yang rusak dengan mengacu pada ribuan program uji.
- Versi Rust dikembangkan hanya dalam waktu tiga minggu dari commit pertama berkat bantuan tim agen AI.
- Proyek ini diarahkan oleh seorang insinyur yang menggunakan Claude Opus 5.5 untuk menyalin compiler Go fungsi demi fungsi.
- Rangkaian uji yang berisi lebih dari 13.000 program kecil memastikan versi Rust melaporkan error yang persis sama.
Penerapan WebAssembly dan Integrasi Rantai Alat
Cloudflare dan tim Vite ingin alat pengembang berjalan di dalam kotak sandi serta peramban menggunakan WebAssembly. Karena Rust tidak menggunakan pengumpul sampah seperti Go, tidak ada memori ekstra yang perlu disertakan. Inovasi dari port ini juga mulai diadopsi oleh tim lain untuk meningkatkan aturan linter yang sadar-tipe.
- Cloudflare dan tim di balik Vite mengembangkan compiler ini agar dapat berjalan di dalam peramban melalui WebAssembly.
- Absensi pengumpul sampah pada Rust membuat kode tidak perlu membawa komponen tambahan saat dikompilasi.
- Beberapa trik kecepatan dari port Rust mulai diadopsi ke dalam rilis Go Microsoft berikutnya serta rantai alat OXLint.
Description
A fully compatible TypeScript compiler written in Rust just landed, and it's meant to be almost 3x faster than the Go port. We ran tsrs, the Go compiler and JavaScript tsc side by side on the TypeScript repo, and found out how it was built in three weeks. If slow type checks eat your day, watch this. 🔗 Relevant Links https://blog.cloudflare.com/typescript-rust-port https://github.com/oxc-project ❤️ More about us Radically better observability stack: https://betterstack.com/ Written tutorials: https://betterstack.com/community/ Example projects: https://github.com/BetterStackHQ 📱 Socials Twitter: https://twitter.com/betterstackhq Instagram: https://www.instagram.com/betterstackhq/ TikTok: https://www.tiktok.com/@betterstack LinkedIn: https://www.linkedin.com/company/betterstack 📌 Chapters: 0:00 Intro 0:40 What a TypeScript compiler actually does 1:32 JavaScript vs Go vs Rust: the benchmark 2:53 How it was built in three weeks 4:06 Why build it in Rust 4:45 What's next for tsrs
