tsrs: Bản Rust của trình biên dịch TypeScript do AI tạo ra, nhanh gấp 8 lần
Cloudflare, VoidZero và Max Schwenk vừa công bố tsrs, một bản chuyển sang Rust đầy tham vọng của trình biên dịch TypeScript, được xây dựng với sự tham gia của chính nhóm TypeScript. Cloudflare cho biết công cụ này kiểm tra nhanh gấp tới 8 lần và tốn ít hơn 70% bộ nhớ so với TypeScript 7.0, dù chưa có watch mode hay language server.
tsrs: Bản Rust của trình biên dịch TypeScript do AI tạo ra, nhanh gấp 8 lần
Cloudflare, VoidZero cùng nhà phát triển Max Schwenk vừa công bố tsrs, một bản chuyển thử nghiệm sang Rust của trình biên dịch TypeScript. Điều đáng chú ý là dự án này được xây dựng với sự tham gia trực tiếp của nhóm TypeScript, và phần lớn mã nguồn do AI tạo ra.
Theo Cloudflare, tsrs có thể kiểm tra kiểu nhanh gấp tới 8 lần và tiêu tốn ít hơn 70% bộ nhớ so với TypeScript 7.0. Tuy nhiên, một phép thử riêng lẻ với bản TypeScript 7.1 beta chỉ cho thấy mức cải thiện khoảng 2,7 lần.
Điều gì đáng chú ý ở tsrs?
TypeScript vốn được viết bằng chính TypeScript, và việc chuyển một trình biên dịch cỡ lớn như vậy sang Rust là bài toán không hề nhỏ. tsrs cho thấy một hướng đi mới: dùng AI để hỗ trợ chuyển đổi mã nguồn quy mô lớn, sau đó con người kiểm chứng lại.
- Tốc độ kiểm tra kiểu được cải thiện đáng kể nhờ hiệu năng của Rust.
- Mức tiêu thụ bộ nhớ giảm mạnh, điều mà các dự án lớn rất quan tâm.
- Có sự tham gia của nhóm TypeScript, giúp dự án bám sát ngữ nghĩa gốc thay vì chỉ là bản chuyển máy móc.
Đây là một thử nghiệm, chưa phải sản phẩm sẵn sàng cho môi trường production.
Những giới hạn cần lưu ý
Dù những con số hiệu năng gây ấn tượng, tsrs vẫn còn thiếu nhiều tính năng mà lập trình viên quen thuộc:
- Chưa có watch mode, tức chế độ tự động theo dõi và biên dịch lại khi mã nguồn thay đổi.
- Chưa có language server, nên chưa thể tích hợp đầy đủ vào các trình soạn thảo như VS Code.
- Thoát với mã lỗi 2 khi phát hiện lỗi kiểu, thay vì hành vi quen thuộc như hiện tại.
Những thiếu sót này cho thấy tsrs hiện mới phù hợp với mục đích thử nghiệm và đo lường hiệu năng, chưa thể thay thế trình biên dịch TypeScript chính thức trong công việc hằng ngày.
Ý nghĩa với cộng đồng lập trình viên Việt Nam
Với các nhóm phát triển tại Việt Nam đang làm việc trên monorepo lớn hoặc dự án TypeScript nhiều triệu dòng, thời gian kiểm tra kiểu và bộ nhớ tiêu tốn là vấn đề thực tế. Nếu hướng đi này được hoàn thiện, các công cụ như tsrs có thể giúp rút ngắn đáng kể thời gian chờ trong pipeline CI/CD.
Tuy nhiên, ở thời điểm hiện tại, lời khuyên hợp lý là theo dõi và thử nghiệm trong môi trường riêng, chưa đưa vào quy trình bắt buộc của đội ngũ. Việc dự án có sự tham gia của nhóm TypeScript là tín hiệu tích cực, nhưng quãng đường từ bản thử nghiệm đến công cụ ổn định vẫn còn dài.
Câu chuyện của tsrs cũng phản ánh một xu hướng lớn hơn: dùng AI để tái cấu trúc những hệ thống phần mềm nền tảng, nơi chi phí chuyển đổi bằng sức người từng là rào cản gần như không thể vượt qua.


