Cloudflare phát triển tsrs: TypeScript viết bằng Rust nhanh hơn tới 8 lần trong thử nghiệm
Cloudflare và VoidZero công bố tsrs, bản chuyển TypeScript sang Rust có benchmark hứa hẹn nhưng còn thử nghiệm. Điểm đáng chú ý là tính tương thích và khả năng chạy bằng WebAssembly.
Cloudflare ngày 20/10/2026 công bố đang phối hợp với VoidZero và các cộng tác viên phát triển tsrs, một bản chuyển trình biên dịch TypeScript sang Rust. Theo phép đo ban đầu do nhóm công bố, tsrs có thể kiểm tra kiểu nhanh hơn tới tám lần và dùng ít hơn khoảng 70% bộ nhớ so với TypeScript 7.0 trong một cấu hình so sánh cụ thể. Đây là kết quả benchmark của nhóm phát triển, không phải cam kết cải thiện tương tự trên mọi dự án.
Thông báo đáng chú ý không chỉ ở mức tăng tốc. Nhóm chủ trương duy trì tính tương thích với ngôn ngữ TypeScript, làm việc cùng nhóm TypeScript và phát triển tsrs trong hệ sinh thái trình biên dịch Oxc. Với các nhóm phát triển web và nền tảng AI hỗ trợ viết mã, câu hỏi quan trọng là liệu việc kiểm tra kiểu có thể trở nên đủ nhẹ để được chạy liên tục trong nhiều môi trường hay không.
Kiểm tra kiểu đang là một chi phí vận hành của lập trình hiện đại
TypeScript bổ sung hệ thống kiểu tĩnh lên JavaScript, giúp phát hiện nhiều lỗi trước khi mã chạy thực tế. Tuy nhiên, trong các monorepo lớn, việc phân tích hàng nghìn tệp và quan hệ kiểu phức tạp có thể tiêu tốn bộ nhớ và thời gian. Lập trình viên nhận thấy chi phí này khi chạy CI, mở dự án trong IDE hoặc đợi các bước kiểm tra hoàn tất sau mỗi thay đổi.
Vấn đề còn rõ hơn với AI coding agent. Một agent có thể sửa nhiều tệp, chạy kiểm tra, đọc lỗi rồi lặp lại hàng chục lần. Mỗi vòng typecheck chậm sẽ kéo dài toàn bộ nhiệm vụ, dù việc tạo mã chỉ mất ít thời gian. Nếu công cụ kiểm tra nhẹ hơn, hệ thống có thể dành tài nguyên cho nhiều phiên làm việc đồng thời. Nhưng tốc độ của trình biên dịch chỉ là một phần tổng độ trễ; chạy test, build, truy cập mạng và chất lượng mã sinh ra vẫn là những yếu tố riêng.
tsrs khác gì với việc tạo một ngôn ngữ TypeScript mới?
Theo Cloudflare, nhóm không muốn tạo nhánh phát triển ngôn ngữ riêng hay thay đổi quy tắc kiểu theo ý mình. Mục tiêu là một bản chuyển trung thành với TypeScript hiện có, còn những quyết định thiết kế ngôn ngữ vẫn thuộc nhóm TypeScript. Đây là ranh giới rất quan trọng: một chương trình được chấp nhận hoặc bị từ chối khác nhau giữa các trình kiểm tra kiểu có thể gây lỗi khó truy vết trên pipeline.
Nhóm đang hợp tác với các tác giả trong cộng đồng và đề cập kế hoạch hợp nhất những nỗ lực Rust song song, hướng tới khả năng bao phủ các tính năng bao gồm giao thức hỗ trợ công cụ biên tập. Việc công bố kế hoạch không đồng nghĩa các chức năng này đã hoàn chỉnh trong bản thử nghiệm. Với doanh nghiệp, khả năng tương thích với IDE, plugin, cấu hình dự án và phiên bản TypeScript cần được đánh giá trước khi đổi công cụ mặc định.
Đọc đúng mức nhanh hơn tám lần và giảm 70% bộ nhớ
Cloudflare cho biết phép đo ban đầu so sánh tsrs với TypeScript 7.0 khi sử dụng cùng số worker kiểm tra kiểu. Trong điều kiện đó, mức cải thiện cao nhất được công bố là tám lần về tốc độ và khoảng 70% về bộ nhớ. Nhóm cũng lưu ý TypeScript 7.1 beta tự nó đã có tối ưu đáng kể, cho thấy việc lựa chọn phiên bản đối chứng có thể thay đổi mạnh cách hiểu kết quả.
Một benchmark đáng tin cần công bố quy mô dự án, phiên bản trình biên dịch, tài nguyên máy, chế độ incremental, số worker và cách đo bộ nhớ. Đặc biệt, Cloudflare nêu rằng chế độ cấu hình thích ứng mặc định có thể dùng nhiều bộ nhớ hơn để đạt tốc độ cao hơn. Vì vậy không nên cộng dồn tùy ý con số tiết kiệm bộ nhớ với kết quả chạy nhanh nhất rồi xem đó là một cấu hình sản xuất duy nhất.
Vì sao Rust và WebAssembly là điểm chiến lược?
Một trình kiểm tra kiểu nhanh trên máy phát triển vẫn hữu ích, nhưng Rust còn mang lại khả năng biên dịch sang WebAssembly với dấu chân bộ nhớ tương đối gọn. Cloudflare lập luận rằng điều này có thể đưa chuỗi công cụ lập trình vào trình duyệt, môi trường chạy cách ly hoặc các nền tảng tính toán biên. Thay vì gửi mọi lượt kiểm tra mã đến một máy chủ build lớn, một phần công việc có thể được tổ chức gần nơi người dùng hoặc agent đang làm việc.
Tuy nhiên, chạy trong WebAssembly không mặc nhiên bảo đảm công cụ có quyền truy cập tệp, module resolution hay hiệu năng giống bản native. Mỗi môi trường có giới hạn bộ nhớ và API khác nhau. Với nền tảng SaaS cung cấp môi trường lập trình trực tuyến, lợi ích tiềm năng phải được cân đối với mức độ tương thích thư viện, cách cô lập người dùng, thời gian khởi tạo và giới hạn tài nguyên.
Có nên thay trình kiểm tra TypeScript hiện tại ngay?
Cloudflare hiện cung cấp bản thử nghiệm qua gói npm tsrs. Nhóm kỹ thuật có thể dùng nó để đo trên bản sao dự án hoặc trong một job CI không chặn merge, so sánh kết quả chẩn đoán với công cụ chính thức rồi thống kê sai khác. Đừng chuyển ngay một tuyến kiểm tra bắt buộc sang công cụ còn thử nghiệm chỉ vì biểu đồ tốc độ hấp dẫn.
Với dự án có bộ quy tắc kiểu phức tạp hoặc phụ thuộc nhiều vào khả năng IDE, tiêu chí đầu tiên phải là tính đúng đắn. Sau đó mới đến thời gian kiểm tra lạnh, incremental, mức sử dụng RAM cao nhất và tính ổn định khi chạy lặp. Một công cụ nhanh nhưng bỏ lọt lỗi hoặc sinh chẩn đoán không tương thích có thể khiến tổng chi phí phát triển tăng lên.
Sự xuất hiện của tsrs cho thấy cuộc đua tối ưu công cụ JavaScript đang mở rộng từ bundler và linter sang cả hệ thống kiểu. Mốc ngày 20/10 là công bố dự án và benchmark ban đầu; mức độ trưởng thành sẽ chỉ rõ hơn qua các bản phát hành, kiểm thử tương thích và kết quả độc lập của cộng đồng.
Nguồn: Thông báo kỹ thuật chính thức của Cloudflare, ngày 20/10/2026.