TypeScript 7, bu hafta Go ile tamamen yeniden yazılarak piyasaya sürüldü; bu sayede VS Code için derleme süresi 17,5 saniyeden 1,3 saniyenin altına düştü ve büyük projelerde bellek kullanımı %26'ya kadar azaldı. Bu hız artışı, günlük kodlama deneyimini anlık hale getirirken, sağlanan tasarruf tüm süreç boyunca geliştiricilere saatler kazandırıyor.
Go ile yeniden yazılmak neden önemli?
Microsoft, uzun süredir kullanılan JavaScript/Node uygulamasının yerine derleyiciyi Go ile yeniden inşa etti. Orijinal kod tabanı projeler büyüdükçe bir duvara tosluyordu; ayrıştırma (parsing) ve tip kontrolü (type-checking), sınırlı CPU ve RAM'e sahip CI çalıştırıcılarını yavaşlatıyordu. Yerleşik eşzamanlılık (concurrency) özelliğine sahip derlenen bir dile geçilerek, yeni motor ayrıştırma ve tip kontrolünü paralel olarak çalıştırıyor ve ilk hatanın görülmesi için gereken bekleme süresini ciddi oranda azaltıyor.
Gerçek dünyadaki performans kazanımları
Birkaç büyük kod tabanından alınan ilk kıyaslamalar bu etkiyi gözler önüne seriyor:
- VS Code: 11,9 kat daha hızlı derleme, %18 daha düşük bellek ayak izi.
- Sentry, Bluesky, Playwright, Tldraw: 7,7 ile 8,9 kat arası hızlanma.
- Bluesky ayrıca bellek kullanımında %26'lık bir düşüş görüyor.
Günde onlarca kez "run" veya "watch" komutunu çalıştıran geliştiriciler, daha akıcı bir düzenleme süreci ve daha hafif CI yükleri fark ediyor.
Yeni bayraklar size kontrol sağlar
Yeniden yazılan sürüm, ekiplerin hız ve bellek arasında denge kurmasına olanak tanıyan komut satırı seçenekleriyle birlikte geliyor:
--checkersve--builders, çok çekirdekli CPU'lardan yararlanarak ayrıştırma ve tip kontrolü işçilerini (workers) yan yana çalıştırır.--singleThreaded, tüm işi tek bir iş parçacığına (thread) zorlayarak bir yarış durumu (race condition) oluştuğunda hata ayıklamanın (debugging) tekrarlanabilir olmasını sağlar.- Tip kontrolü işçileri ile derleyici (builder) işçilerinin ayrı ayrı ölçeklendirilebilmesi, CI süreçlerinin her aşama için tam gereken miktarda kaynak ayırmasına olanak tanır.
- Yenilenen
--watchmodu, Parcel'ın Go tabanlı bir portunu kullanarak devasanode_modulesağaçlarının maliyetli bir şekilde taranmasını (polling) ortadan kaldırır ve dosya değişikliği algılamayı hafif tutar.
Kimler kazanıyor ve kimler tereddüt edebilir?
Next.js ve Nuxt gibi TypeScript'e yoğun şekilde dayanan ön uç (front-end) çerçeveleri, daha hızlı yeniden derleme ve daha sıkı geri bildirim döngüleri kazanacak. VS Code ve Cursor gibi IDE'ler daha tepkisel hissettirerek, geliştiricileri terminal üzerinden derleme yapmak yerine editörde daha uzun süre kalmaya teşvik ediyor.
Bundan sonra neyi takip etmeli?
- Büyük açık kaynaklı projeler ve kurumsal monorepo'lar arasındaki benimsenme oranları.
- Kararlılık ve gizli performans düşüşleri hakkındaki topluluk geri bildirimleri.
- Derleme sürelerini daha da azaltmak veya hata teşhislerini iyileştirmek için derleyici özellikleri ekleyen Microsoft güncellemeleri.
