Geri qayıt

Cloudflare, TypeScript kompilyatorunun Rust portu olan tsrs təqdim edir
SiTech AI Team3 dəq oxu

Cloudflare, TypeScript kompilyatorunun Rust portu olan tsrs təqdim edir

Cloudflare, VoidZero və Owner.com-dan Max Schwenk, TypeScript komandası ilə birlikdə Oxc alətlər zincirinin içində yoxlamaları sürətləndirmək və yaddaş istifadəsini azaltmaq üçün TypeScript kompilyatorunun Rust portu olan tsrs qurur.

Sadiq Rust portu

Cloudflare və VoidZero, Owner.com-dan Max Schwenk ilə birlikdə TypeScript kompilyatorunun Rust portu olan tsrs üzərində işləyirlər. Layihə Oxc JavaScript kompilyator alətlər zincirinin hissəsi kimi inkubasiya edilir və TypeScript komandası ilə yaxın əməkdaşlıqda inkişaf etdirilir. Bəyan edilən məqsəd developerlərin kod yoxlamalarını gözləməyə daha az vaxt sərf etməsinə və yaratmağa daha çox vaxt ayırmasına kömək etmək, eyni zamanda TypeScript-i daha sürətli və yaddaş baxımından daha qənaətcil etməkdir.

Komandalar bunun TypeScript-in fork-u olmadığını deyirlər. Onlar deyirlər ki, TypeScript komandası dilin dizaynı və istiqaməti üzərində tam nəzarəti saxlamalıdır, Rust portu isə upstream qərarlarına yaxından tabe olmalıdır, əks halda uyğunsuzluq yaranacaq. Rust-da TypeScript sadiq port olmağı hədəfləyir. Eksperimental buraxılışı npm-dən 'npm install tsrs' ilə quraşdırmaq və 'npx tsrs' ilə işə salmaq olar.

Performans və yaddaş iddiaları

Komandaların paylaşdığı erkən benchmark-lar göstərir ki, tsrs eyni sayda tip yoxlama worker-i ilə TypeScript 7.0-dan 8 dəfədək daha sürətli işləyir və təxminən 70% daha az yaddaş istifadə edir. Onlar deyirlər ki, müqayisə eyni konfiqurasiyanı təmin etmək üçün TypeScript komandası ilə birlikdə aparılıb. TypeScript 7.1 beta artıq TypeScript 7.0-dan 2,5 dəfədək daha sürətlidir və bu optimizasiyaların bəziləri tsrs-dən upstream-ə köçürülüb.

Standart olaraq tsrs maşın tipindən asılı olan adaptiv konfiqurasiya ilə gəlir. Bu standart konfiqurasiya daha çox yaddaş istifadə edir, lakin daha da sürətlidir. Komandalar həmçinin qeyd edirlər ki, bəzi açıq benchmark-lar TypeScript-in standartlarından daha böyük maşın tiplərindən və ya fərqli seçimlərdən istifadə edir, bu da performans iddialarını dəyişə bilər.

Niyə Rust təkcə sürət baxımından deyil, əhəmiyyətlidir

Komandalar deyirlər ki, əvvəlki port cəhdləri məhdud uğur qazanıb və yalnız TypeScript komandasının JavaScript-dən Go-ya portu uğurlu olub. Onlar iddia edirlər ki, daha sürətli TypeScript-ə tələbat hələ də mövcuddur. Rust WebAssembly üçün daha yaxşı uyğun variant kimi təqdim olunur, çünki Go-nun WebAssembly-ə kompilyasiyası Go-nun garbage collector-unu da özü ilə gətirir, Rust-ın yaddaş modeli isə WebAssembly qonağı ilə host arasında birbaşa yaddaş qarşılıqlı əlaqəsinə imkan verir.

Cloudflare Workers uzun müddətdir WebAssembly-i dəstəkləyir və şirkət bu yaxınlarda wasm-bindgen üçün Emscripten hədəfi vasitəsilə Workers-da native Rust dəstəyini elan edib. Komandalar deyirlər ki, kiçik yaddaş izi build və deployment sistemlərini Workers-da sıx dövrlərdə işə salmağı, hətta tam izolyasiya edilmiş inkişaf alətlər zincirlərini Cloudflare-də, brauzerdə, quraşdırılmış cihazlarda və ya IoT tətbiqlərində işə salmağı praktik edir.

Baxım və növbəti addımlar

Cloudflare deyir ki, Theo Browne ilə birlikdə tsc-rs və tsrs-i Language Server Protocol və content mappers daxil olmaqla TypeScript xüsusiyyətlərini dəstəkləyən vahid paketdə birləşdirmək üzərində işləyir. Baxım planı Vinext modelinə əsaslanır: hər səhər bir agent dəyişiklikləri nəzərdən keçirir, diff-ləri götürür və izləmə məsələləri açır; hər gecə Next.js test dəsti Vinext-ə qarşı işə salınmaqla uyğunluq matrisi yenidən yaradılır. Boşluqlar aşkar edildikdə agentlər reproduksiya qura, müvafiq testləri köçürə və düzəlişlər təklif edə bilər.

Komandalar deyirlər ki, upstream TypeScript-dən kənara çıxmamağa diqqət yetirəcəklər və performans yaxşılaşdırmalarını TypeScript-in Go kod bazasına geri qaytarmağa çalışacaqlar. Onlar mövcud fərqləri, məsələn diaqnostik mesajların çap olunma sırasını qəbul edirlər və sabit buraxılış yayımlanana qədər onları minimuma endirməyi hədəfləyirlər. Cloudflare həmçinin deyir ki, Oxc komandası sürət, yaddaş istifadəsi və saxlanıla bilənlik üçün kodu yenidən qurur və tsrs-in daha dərin inteqrasiyaları Oxlint-də tipə həssas lint qaydalarını əhatə edə bilər.

Mənbələr: Cloudflare · The New Stack

SiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.