· kaynak Hacker News – Front Page (hnrss.org)
Effect 4.0 yayınlandı: 5 kat küçük bundle'lar, 6,4 kat verimlilik ve sıfır runtime bağımlılığı
Effect 4.0, TypeScript effect sistemini baştan yeniden yazarak minimal bundle boyutunu 35,6 kB'dan 7,1 kB'ya düşürüyor ve fiber başına bellek kullanımını %86 azaltıyor; ayrıca sıfır bağımlılıklı paketleme ve uzun vadeli destek politikası getiriyor.

Effect 4.0 çekirdeği hız ve boyut için yeniden inşa ediyor
Effect, TypeScript ekosisteminin 4.0 sürümünü yayınladı; ekip bu sürümü, kütüphanenin baştan sona yeniden yazıldığı için şimdiye kadarki en iddialı sürüm olarak nitelendiriyor. Hacker News ana sayfasına da düşen Effect blogundaki duyuruya göre yeniden yazım aynı anda üç boyutu hedefliyor: bundle boyutu, verimlilik (throughput) ve bellek.
Yayınlanan benchmark'lar, özdeş kaynaktan derlenen, minified ve gzipped bundle'ları karşılaştırıyor; runtime rakamları ise dokuz ayrı taze süreç çalıştırmasının medyanı olarak alınmış:
- Minimal bir program Effect 3.x altında 35,6 kB iken 4.0 altında 7,1 kB'ya düşüyor; bu kabaca beş katlık bir azalma.
- Eşzamanlı görev verimliliği saniyede 0,71 milyon görevden 4,57 milyon göreve çıkıyor; 6,4 katlık bir iyileşme.
- 50.000 fiber için gereken heap 157,5 MB'dan 21,8 MB'a düşüyor; ekip bunu fiber başına %86 daha az bellek olarak sunuyor.
Tek sürüm numaralı ekosistem ve sıfır runtime bağımlılığı
Sürüm ayrıca Effect'in paketlenme biçimini de yeniden düzenliyor. Daha önce ayrı olarak yayınlanan birçok paket artık çekirdek effect paketinin içinde yer alıyor ve çevredeki paketler tek bir sürüm numarası paylaşıp eş zamanlı olarak yayınlanıyor; bu da ekosistem genelindeki sürüm uyumsuzluğu sorunlarını azaltmalı.
Çekirdek paketin artık sıfır runtime bağımlılığı var. Ekip bunu kısmen bir supply-chain kararı olarak sunuyor: yayınladığı her satırı kendisi kontrol ettiği için üçüncü taraf bağımlılık zincirleri yok ve supply-chain saldırılarına maruziyet daha düşük.
Tek fonksiyonlardan cluster'lara
Effect çok daha küçük bir kapsamla başladı, ancak proje artık tek bir fonksiyondan dağıtık bir sisteme uzanan yelpazeyi kapsıyor. Temel, yerleşik tipli hatalar, dependency injection, kaynak yönetimi, yapılandırılmış eşzamanlılık (structured concurrency) ve gözlemlenebilirlik içeren bir effect sistemi. Etrafında bir standart kütüphane ve platform entegrasyonları büyüdü, ardından dayanıklı iş akışları (durable workflows) ve clustering gibi daha üst düzey dağıtık primitive'ler geldi. Ekibin iddiası, her katmanın aynı model üzerine kurulduğu ve en üste kadar aynı garantileri taşıdığı.
Benimseme ve topluluk büyümesi
Blog, 21 Eylül 2026 haftası için haftalık 43,9 milyon npm indirmesine atıfta bulunuyor; bu, 3.x hattından bu yana 179 kat artış demek. Ayrıca 4.x'in, önceki yedi gündeki indirmelerin yüzde 56'sını, 3.x'in ise yüzde 44'ünü oluşturduğunu bildiriyor. Üretim kullanımı artık büyük kuruluşlar dahil her boyutta şirketleri kapsıyor ve ekosistem çevresinde ayrı topluluk projeleri oluştu; bunlar arasında bulut altyapısı için Alchemy ve frontend için Foldkit yer alıyor.
Uzun vadeli destek politika haline geliyor
Bu sürümle birlikte Effect'in her ana sürümü uzun vadeli destek politikası taşıyacak. 4.x için bu, Eylül 2029'a kadar ya da 5.0 yayınlandıktan bir yıl sonrasına kadar — hangisi sonra ise — hata düzeltmeleri; ve Eylül 2029'a kadar ya da 5.0 yayınlandıktan iki yıl sonrasına kadar — hangisi sonra ise — güvenlik düzeltmeleri anlamına geliyor. Destek en az üç yıl sürüyor ve 5.0 geç yayınlanırsa daha da uzayabiliyor. Ekip, tam politikanın ve yayın sürecinin ayrı bir yazıda ayrıntılandırılacağını söylüyor.
Sırada ne var
İlk öncelik ekosistemi istikrara kavuşturmak. Daha yeni bazı modüller hâlâ @stability unstable veya @stability experimental etiketi taşıyor; yani minor veya patch sürümlerinde değişebilirler. Plan, bunları üretim geri bildirimleriyle rafine edip stable düzeyine yükseltmek. Bunun ötesinde yol haritası daha geniş yerel platform desteği, daha fazla üst düzey primitive ve tüm uygulamalar için tek bir programlama modeli öngörüyor. 3.x'ten geçen ekipler için ekip, migration rehberine işaret ediyor ve rehberi bir kodlama agent'ına vermeyi öneriyor; agent'ın işin çoğunu kendi başına halledeceğini bekliyorlar.
Neden önemli
Haftalık on milyonlarca npm indirmesiyle Effect'teki bu ölçekteki değişiklikler TypeScript dünyasının büyük bir bölümüne ulaşıyor ve benchmark kazanımları, effect sistemlerine üretimde en sık itiraz edilen iki noktayı hedefliyor: runtime yükü ve payload boyutu. Sıfır bağımlılıklı çekirdek, npm ekosistemindeki süregelen supply-chain endişelerine hitap ederken, uzun vadeli destek politikası da açıkça bir ürünü bir kütüphaneye emanet etmeden önce çok yıllık planlama ufuklarına ihtiyaç duyan kuruluşlara yönelik. İndirmelerin yüzde 44'ünün hâlâ 3.x'te olması, önümüzde önemli bir göç dalgası bulunduğuna işaret ediyor ve ekibin, AI kodlama agent'larının bu göçün çoğunu otomatikleştirebileceği yönündeki bahis şimdi pratikte sınanacak.
- #typescript
- #effect
- #functional-programming
- #open-source
- #release