Wasm3 minimum bakım aşamasına geçti
(github.com/wasm3)- Wasm3, hızlı bir WebAssembly yorumlayıcısı ve genel amaçlı bir WASM runtime’ı olmayı hedefliyor, ancak yeni özellik geliştirmeyi durdurup minimum bakım aşamasına geçiyor
- Geliştirici, Rusya’nın işgali sırasında evi yıkıldıktan sonra yeni özellik geliştirmeyi sürdüremediğini belirtiyor; projenin yaşamaya devam edeceğini ve gelen Pull Request’leri inceleyip birleştireceğini söylüyor
wasm3, WebAssembly spec testsuite testlerini geçiyor ve birçokWASIuygulamasını çalıştırabiliyor; minimum kullanışlı sistem gereksinimi yaklaşık 64KB kod ve yaklaşık 10KB RAM- x86, x86_64, ARM, RISC-V, PowerPC, MIPS, Xtensa, ARC32 gibi birçok mimarinin yanı sıra Linux, Windows, OS X, FreeBSD, Android, iOS, MCU, tarayıcı ve kendi kendini çalıştırma desteği sunuyor
- Yorumlayıcı yaklaşımı; yürütülebilir dosya boyutu, bellek kullanımı, başlangıç gecikmesi, taşınabilirlik, güvenlik ve entegrasyon zorluğu açısından avantaj sağlıyor; iOS ya da WebAssembly’nin kendisi gibi çalışma anında kod sayfası oluşturulamayan ortamlarda JIT kullanılamıyor
Bakım durumundaki değişiklik
- Wasm3 minimum bakım aşamasına giriyor
- Yeni özellik geliştirmeyi sürdürmek artık zor
- Proje yaşamaya devam edecek ve gelen Pull Request’ler aktif biçimde incelenip birleştirilecek
- Topluluk katkıları artık her zamankinden daha önemli
- Geliştirici, Rusya’nın işgali sırasında evi yıkıldıktan sonra şu anda yeni özellik geliştirmeye devam edemediğini söylüyor
Wasm3 ne sunuyor
- Wasm3, hızlı bir WebAssembly yorumlayıcısı ve genel amaçlı bir WASM runtime’ı olmayı hedefliyor
- Performans iddiaları CoreMark 1.0 ve bağımsız benchmark sonuçlarına dayanıyor
- Gerçek performans ortama göre değişebilir
- Kütüphane olarak kullanılabildiği birçok dil ve ortam var
Çalışabildiği ortamlar ve gereksinimler
wasm3, WebAssembly spec testsuite testlerini geçiyor- Birçok
WASIuygulamasını çalıştırabiliyor - Minimum kullanışlı sistem gereksinimleri şöyle
- Kod: yaklaşık 64KB
- RAM: yaklaşık 10KB
- Desteklenen mimari aralığı geniş
x86,x86_64,ARM,RISC-V,PowerPC,MIPS,Xtensa,ARC32vb.
- Desteklenen platform ve ortamlar da çeşitli
- Linux, Windows, OS X, FreeBSD, Android, iOS
- OpenWrt, Yocto, Buildroot tabanlı yönlendirici ve modemler
- Raspberry Pi, Orange Pi gibi SBC’ler
- Arduino, ESP8266, ESP32, Particle gibi MCU’lar
- Tarayıcıda WebAssembly’nin kendisini kullanarak çalışabiliyor
wasm3’ünwasm3çalıştırdığı self-hosting de mümkün
WebAssembly özellik desteği
- Desteklenen WebAssembly proposal özellikleri
- Import/Export of Mutable Globals
- Non-trapping float-to-int conversions
- Sign-extension operators
- Multi-value
- Bulk memory operations için kısmi destek
- Custom page size
- Ek özellikler
- Yapılandırılmış yürütme izleme
- Big-Endian sistem desteği
- Wasm ve WASI self-hosting
- Gas metering
- Doğrusal bellek sınırı: 64KiB’den az
- Hâlâ geliştirilmekte olan ya da desteklenmeyen maddeler de var
- Geliştirme sürüyor: Multiple memories, Reference types
- Desteklenmiyor: Tail call optimization, Fixed-width SIMD, Exception handling, Stack Switching
Yorumlayıcı seçme nedeni ve gömülü WASM
- Hız her zaman temel gereksinim değildir ve yorumlayıcı yaklaşımı birçok durumda avantaj sağlar
- Runtime yürütülebilir dosya boyutunu, bellek kullanımını ve başlangıç gecikmesini iyileştirebilir
- Taşınabilirlik ve güvenliği elde etmek ve sürdürmek daha kolaydır
- Wasm3 gibi basit bir kütüphane mevcut projelere derlenip entegre edilmesi kolaydır ve derleme birkaç saniyede tamamlanır
- Bazı platformlarda JIT kullanılamaz
- iOS ve WebAssembly’nin kendisinde çalışma anında yürütülebilir kod sayfaları oluşturulamaz
- Gömülü cihazlarda WASM çalıştırma nedenleri de belirtiliyor
- Wasm3 bir araştırma projesi olarak başladı ve motoru farklı ortamlarda değerlendirmek bu araştırmanın bir parçası
- MCU’larda zaten
Lua,JS,Python,LispçalıştırılırkenWebAssemblyde bir alternatif olabilir - WebAssembly, toolchain ayrımı ile tamamen sandbox içine alınmış, iyi tanımlanmış ve öngörülebilir bir ortam sunar
- Pratik örnekler arasında edge computing, script yazımı, plugin sistemleri,
IoT rulesve akıllı sözleşmeler yer alır
Referanslar ve lisans
- Ana belgeler
- İlgili kaynaklar
- Proje MIT License ile dağıtılıyor
1 yorum
Hacker News yorumları
Anonim bir hesap olduğu için övünüyormuş gibi hissettirmeden söyleyebilirim; bağış yaptım, trolleri bildirdim, dezenformasyonla mücadele ettim, siyasetçilere baskı yaptım ve elimden geleni yaptım. Yine de Ukrayna halkına hâlâ borçluymuşum gibi hissediyorum
Yalnız olmadığını bilmeni isterim; başkalarının da siyasetçilerden talepte bulunmak, sivillere ve cephedeki kahramanlara bağışla destek olmak, dezenformasyonu bildirmek gibi küçük adımlar atmasını umuyorum
Volodymyr, Rusya’nın Ukrayna’yı işgali sırasında projeyi ayakta tutmaya çalışırken umarım dayanır ve savaş yakında biter
Performansı çok iyi, ayrıca mimarisiyle kodunun güzelliği gerçekten etkileyici
Bağlantısı verilen tweet 2022 Eylül’ünden ve yıkılan evin videosunu gösterip yardım etmek isteyenlerden bağış istiyor
AB, Ukrayna’ya yardım etmek için daha fazla nakit ortaya koymalı