TypeScript 7 dilancarkan minggu ini dengan penulisan semula sepenuhnya dalam Go, memangkas masa kompilasi untuk VS Code daripada 17.5 saat kepada kurang daripada 1.3 saat dan mengurangkan penggunaan memori sehingga 26% dalam projek besar. Peningkatan kelajuan ini menjadikan pengekodan harian terasa sekelip mata, dan penjimatan tersebut terkumpul menjadi berjam-jam masa pembangun merentasi keseluruhan stack.

Mengapa penulisan semula dalam Go itu penting

Microsoft membina semula pengkompil dalam Go, menggantikan pelaksanaan JavaScript/Node yang telah lama digunakan. Kod sumber asal menghadapi jalan buntu apabila projek semakin berkembang—proses parsing dan semakan jenis (type-checking) melambatkan pelari CI yang mempunyai CPU dan RAM terhad. Dengan beralih kepada bahasa dikompil dengan keupayaan konkurensi terbina dalam, enjin baharu ini menjalankan parsing dan semakan jenis secara selari, sekali gus memangkas masa menunggu untuk ralat pertama muncul.

Peningkatan prestasi dunia nyata

Penanda aras awal daripada beberapa kod sumber utama menggambarkan impaknya:

  • VS Code: kompilasi 11.9 × lebih pantas, jejak memori 18% lebih rendah.
  • Sentry, Bluesky, Playwright, Tldraw: peningkatan kelajuan daripada 7.7 × hingga 8.9 ×.
  • Bluesky juga melihat penurunan penggunaan memori sebanyak 26%.

Pembangun yang menekan “run” atau “watch” berpuluh-puluh kali sehari akan menyedari penyuntingan yang lebih lancar dan beban CI yang lebih ringan.

Bendera (flags) baharu memberi anda kawalan

Penulisan semula ini disertakan dengan pilihan baris arahan yang membolehkan pasukan mengimbangi kelajuan dan memori:

  • --checkers dan --builders melancarkan pekerja parsing dan semakan jenis secara bersebelahan, memanfaatkan CPU pelbagai teras.
  • --singleThreaded memaksa semua kerja ke atas satu bebenang (thread), menjadikan penyahpepijatan (debugging) boleh dihasilkan semula apabila keadaan perlumbaan (race condition) berlaku.
  • Penskalaan berasingan bagi pekerja semakan jenis berbanding pekerja pembina membolehkan saluran paip CI memperuntukkan sumber yang mencukupi untuk setiap fasa.
  • Mod --watch yang diperbaharui menggunakan port Parcel berasaskan Go, menghapuskan proses polling yang memakan kos pada pokok node_modules yang besar dan memastikan pengesanan perubahan fail kekal ringan.

Siapa yang mendapat manfaat, dan siapa yang mungkin teragak-agak

Rangka kerja (framework) hadapan yang sangat bergantung pada TypeScript—seperti Next.js dan Nuxt—bakal mendapat manfaat daripada binaan semula yang lebih pantas dan gelung maklum balas yang lebih ketat. IDE seperti VS Code dan Cursor terasa lebih responsif, menggalakkan pembangun untuk kekal di dalam penyunting lebih lama daripada beralih ke binaan terminal.

Apa yang perlu diperhatikan seterusnya

  • Kadar penggunaan dalam kalangan projek sumber terbuka yang besar dan monorepo perusahaan.
  • Maklum balas komuniti tentang kestabilan dan sebarang penurunan prestasi yang mendadak.
  • Kemas kini Microsoft yang menambah ciri pengkompil untuk memangkas lagi masa kompilasi atau menambah baik diagnostik ralat.