1 puan yazan GN⁺ 2023-12-19 | 1 yorum | WhatsApp'ta paylaş
  • 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çok WASI uygulaması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

Çalışabildiği ortamlar ve gereksinimler

  • wasm3, WebAssembly spec testsuite testlerini geçiyor
  • Birçok WASI uygulaması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, ARC32 vb.
  • 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’ün wasm3 ç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ırken WebAssembly de 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 rules ve akıllı sözleşmeler yer alır

Referanslar ve lisans

1 yorum

 
GN⁺ 2023-12-19
Hacker News yorumları
  • OP benim, sorunuz varsa yanıtlamaya hazırım
    • Wasm projesiyle ilgili değil ama umarım sen ve arkadaşlarınla ailen güvendesinizdir. Ukrayna’ya şan olsun, işgalciler defolsun
    • Erken dönem bir NAFO üyesi olarak desteğimi gönderiyorum
      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
    • Şu anda güvende misin?
    • Dinlenmeye ya da eğlenceli bir şeyler yapmaya vaktin oluyor mu, yoksa sürekli stres altında mısın?
  • Wasm3 tarafındaki Twitter gönderisinde daha fazla bağlam var: https://x.com/wasm3_engine/status/1736712528883769670?s=20
  • Açıkçası bu haber üzücü. Wasm3, performans açısından önde gelen harika bir Wasm yorumlayıcısıydı; native’e göre yaklaşık 3 ila 5 kat daha yavaştı ama tipik bir Wasm yorumlayıcısından yaklaşık 3 kat daha hızlıydı
    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
    • Katılıyorum. En iyi WASM yorumlayıcılarından biri ve bence piyasada bulunan bazı runtime’lardan bile daha iyi
      Performansı çok iyi, ayrıca mimarisiyle kodunun güzelliği gerçekten etkileyici
  • Açıklama şu: Rusya işgal edip evi yıktığı için Wasm3 asgari bakım aşamasına geçiyor; yeni özellik geliştirmeye devam edemeyecekler ama projeyi yaşatmaya yardımcı olmak için gelen Pull Request’leri etkin biçimde inceleyip birleştirecekler
    Bağlantısı verilen tweet 2022 Eylül’ünden ve yıkılan evin videosunu gösterip yardım etmek isteyenlerden bağış istiyor
    • Bu korkunç. Slava Ukraini
    • Yağmur ve karı engellemek için o evin mümkün olan en kısa sürede yeni bir çatıya ihtiyacı var gibi görünüyor
    • Şu ana kadar Rusya’nın içinden birinin Putin’i ortadan kaldırmış olmasını gerçekten dilerdim. Ondan pek hoşlanmayan epey kişi olduğuna inanıyorum
      AB, Ukrayna’ya yardım etmek için daha fazla nakit ortaya koymalı