Nova - Rust ile yazılmış bir JavaScript & WebAssembly motoru
(github.com/trynova)- Nova, veri odaklı tasarımıyla öne çıkan bir JavaScript motoru; performansı ve önbellek verimliliğini en üst düzeye çıkarmak için tasarlanmış bir yapı benimsiyor
- Bellek güvenlik açıklarını önlemeyi ve performans optimizasyonunu aynı anda hedefliyor
- Başlıca özellikler:
- JavaScript heap'ine ayrılan tüm veriler, türe göre vektörlerde saklanıyor (sayılar sayı vektöründe, string'ler string vektöründe vb.).
- Heap referansları, türe göre ayrılmış indeksler olarak işleniyor; bu da bellek güvenliği ve boyut verimliliği sağlıyor.
- Nesneler, türe göre ayrılarak vektörlerde saklanıyor (genel nesneler, diziler, DataView vb.).
- Genel olmayan nesneler, yalnızca gerektiğinde genel nesne verisine başvuracak şekilde tasarlanmış.
- Nesneler, kullanılmayan verilerin okunmasını önlemek için agresif biçimde ayrıştırılarak depolanıyor.
- Hâlâ geliştirme aşamasında. Motorun özellikleri şu anda oldukça sınırlı ve test262 test paketinin yalnızca yaklaşık %47'sini geçebiliyor
1 yorum
Hacker News görüşü
function X(a) { this.a = a; }vefunction Y(b) { this.b = b; }farklı nesne türleri olarak mı kabul ediliyor, merak ediyorum{a: 1}ve{b: 2}farklı nesne türleri olarak mı kabul ediliyor, merak ediyorum