TypeScript 7 đã ra mắt trong tuần này với một bản viết lại hoàn toàn bằng Go, giúp cắt giảm mạnh thời gian biên dịch cho VS Code từ 17,5 giây xuống còn dưới 1,3 giây và giảm mức sử dụng bộ nhớ lên đến 26% trong các dự án lớn. Sự gia tăng tốc độ này khiến việc lập trình hàng ngày có cảm giác tức thì, và sự tiết kiệm này cộng dồn thành hàng giờ làm việc của nhà phát triển trên toàn bộ stack.
Tại sao việc viết lại bằng Go lại quan trọng
Microsoft đã xây dựng lại trình biên dịch bằng Go, thay thế cho bản triển khai JavaScript/Node đã tồn tại từ lâu. Mã nguồn ban đầu đã chạm tới giới hạn khi các dự án lớn dần—việc phân tích cú pháp và kiểm tra kiểu làm chậm các trình chạy CI vốn có CPU và RAM hạn chế. Bằng cách chuyển sang một ngôn ngữ biên dịch với khả năng xử lý đồng thời tích hợp sẵn, công cụ mới chạy việc phân tích cú pháp và kiểm tra kiểu song song, giúp cắt giảm đáng kể thời gian chờ đợi lỗi đầu tiên xuất hiện.
Hiệu quả hiệu năng trong thực tế
Các kết quả đo lường hiệu năng sớm từ một số ít các kho mã nguồn lớn đã minh họa cho tác động này:
- VS Code: biên dịch nhanh hơn 11,9 lần, mức chiếm dụng bộ nhớ thấp hơn 18%.
- Sentry, Bluesky, Playwright, Tldraw: tốc độ tăng từ 7,7 lần đến 8,9 lần.
- Bluesky cũng ghi nhận mức giảm 26% trong việc sử dụng bộ nhớ.
Các nhà phát triển nhấn “run” hoặc “watch” hàng chục lần mỗi ngày sẽ nhận thấy việc chỉnh sửa mượt mà hơn và tải trọng CI nhẹ hơn.
Các flag mới giúp bạn kiểm soát
Bản viết lại này đi kèm với các tùy chọn dòng lệnh cho phép các nhóm cân bằng giữa tốc độ và bộ nhớ:
--checkersvà--builderskhởi chạy các worker phân tích cú pháp và kiểm tra kiểu song song, tận dụng tối đa CPU đa nhân.--singleThreadedép tất cả công việc vào một luồng duy nhất, giúp việc gỡ lỗi có thể tái lập khi xảy ra tình trạng tranh chấp (race condition).- Việc mở rộng quy mô riêng biệt giữa các worker kiểm tra kiểu và các worker builder cho phép các pipeline CI phân bổ vừa đủ tài nguyên cho từng giai đoạn.
- Chế độ
--watchđược cải tiến sử dụng một bản port của Parcel dựa trên Go, loại bỏ việc thăm dò (polling) tốn kém các cây thư mụcnode_moduleskhổng lồ và giữ cho việc phát hiện thay đổi tệp nhẹ nhàng hơn.
Ai là người hưởng lợi, và ai có thể sẽ do dự
Các framework front-end phụ thuộc nhiều vào TypeScript—như Next.js và Nuxt—sẽ được hưởng lợi từ việc rebuild nhanh hơn và các vòng lặp phản hồi chặt chẽ hơn. Các IDE như VS Code và Cursor mang lại cảm giác phản hồi nhanh hơn, khuyến khích các nhà phát triển ở lại trong trình soạn thảo lâu hơn thay vì phải chuyển sang build bằng terminal.
Những điều cần theo dõi tiếp theo
- Tỷ lệ áp dụng trong các dự án mã nguồn mở lớn và các monorepo của doanh nghiệp.
- Phản hồi từ cộng đồng về tính ổn định và bất kỳ sự sụt giảm hiệu năng đột ngột nào.
- Các bản cập nhật từ Microsoft nhằm bổ sung thêm các tính năng cho trình biên dịch để cắt giảm thêm thời gian biên dịch hoặc cải thiện chẩn đoán lỗi.
