TypeScript'in Rust portu geliyor
Cloudflare ve VoidZero, TypeScript derleyicisini Rust diline taşıyan tsrs projesini duyurdu. Çalışma, Owner.com'dan Max Schwenk ile birlikte ve TypeScript ekibiyle yakın iş birliği içinde yürütülüyor. Proje, Oxc JavaScript derleyici araç zincirinin parçası olarak geliştiriliyor.
Ekipler, TypeScript'i çatallamadıklarını (fork) özellikle vurguluyor. Dilin tasarımı ve yönü konusunda karar merciinin TypeScript ekibi olmaya devam etmesi gerektiği belirtiliyor; Rust portunun bu kararları yakından takip etmesi gerekiyor, aksi halde zamanla uyumsuz hale geleceği ifade ediliyor.
Erken performans sonuçları
Aynı sayıda tip denetim işçisiyle yapılan erken testlerde tsrs, TypeScript 7.0'a kıyasla 8 kata kadar daha hızlı ve yaklaşık %70 daha az bellek kullanıyor. TypeScript 7.1 beta ise 7.0'a göre 2,5 kata kadar hızlı. Bu iyileştirmelerin bir kısmı tsrs'den ana projeye aktarıldı.
Ekipler, karşılaştırmaların aynı yapılandırmayla yapıldığını ve TypeScript ekibiyle birlikte doğrulandığını belirtiyor. tsrs varsayılan olarak makine tipine göre uyarlanan bir yapılandırmayla geliyor; bu ayar daha fazla bellek kullanıp daha da hızlı çalışıyor.
Neden Rust?
TypeScript'in Go'ya taşınması zaten büyük hız kazancı sağladı. Rust'ın öne çıkan avantajı ise WebAssembly: Go programları Wasm'a derlenirken çöp toplayıcısı da taşınıyor, Rust'ın bellek yönetimi modeli ise Wasm konuk ve ana makine arasında daha verimli bellek etkileşimi sağlıyor. Bu da tarayıcıda ve Cloudflare Workers gibi ortamlarda tam geliştirme ortamlarının çalıştırılmasını kolaylaştırıyor.
Nasıl denenir?
Deneysel sürüm npm üzerinden kurulabiliyor:
Ekipler, son dönemde yapay zekâ modellerinin büyük ölçekli portları günler içinde yapabildiğini ve Rust/C++ ile yazılmış farklı TypeScript sürümlerinin ortaya çıktığını hatırlatıyor. tsrs, bu portlar arasında TypeScript'in özgün uygulamasına sadık kalmayı hedefliyor.