नया experimental backend
- V8, Wasmi, WAMR सपोर्ट जोड़ा गया
- अब Wasm-C-API स्पेसिफिकेशन को सपोर्ट करने वाले किसी भी interpreter या runtime को Wasmer में आसानी से इंटीग्रेट किया जा सकता है
- V8 integration के ज़रिए V8 debugger और Chrome Devtools के माध्यम से बेहतरीन debugging experience मिलता है
- V8 को backend के रूप में इस्तेमाल करने का मतलब यह भी है कि WebAssembly exceptions और garbage collection का native सपोर्ट मिलता है
iOS सपोर्ट (WAMR, Wasmi, V8 bindings के ज़रिए प्रदान किया गया)
- Wasmer नए interpreter mode के माध्यम से iOS devices पर WebAssembly उपलब्ध कराता है
- V8, Wasmi, WebAssembly Micro Runtime(WAMR) की क्षमताओं का उपयोग करके डेवलपर्स अब iOS पर WebAssembly modules को सहज रूप से चला सकते हैं
- codebase में किसी बदलाव की ज़रूरत नहीं है, और Apple ecosystem में high-performance applications लिखना संभव हो गया है
codebase slim करना
- Wasmer 5.0 रिलीज़ के लिए Wasmer codebase को यथासंभव slim बनाने पर फ़ोकस किया गया
- Wasmer द्वारा उपयोग की जाने वाली कुछ dependencies लंबे समय से maintain नहीं की गई थीं या नए और अधिक सुरक्षित crates द्वारा duplicate हो चुकी थीं
- पिछले 2 वर्षों में Emscripten bindings का ज़्यादातर उपयोग नहीं हुआ, इसलिए उसका सपोर्ट बंद करके और dependencies को साफ़ करके Wasmer codebase से कुल 20,000 lines of code हटा दी गईं
performance improvements
- module deserialization अब अधिकतम 50% तक तेज़ हो गई है (यानी
Module::deserialize कॉल करने पर या wasmer run के माध्यम से module चलाने पर)
- ये सुधार rkyv के एक महत्वपूर्ण अपडेट का लाभ उठाते हैं, जो modules को deserialize करने के लिए इस्तेमाल की जाने वाली zero-copy deserialization library है
upgraded compiler: Cranelift और LLVM 18
- नवीनतम Cranelift integration के कारण runtime speed में काफ़ी सुधार हुआ है, जिससे WebAssembly modules पहले से अधिक तेज़ चलते हैं
- Wasmer 5.0 में अब LLVM का नवीनतम version (18) शामिल है, जिससे डेवलपर्स toolchain की नवीनतम optimizations तक पहुंच सकते हैं
- LLVM upgrade compatibility और performance को बेहतर बनाता है, और complex WebAssembly modules को compile और run करने के लिए एक मज़बूत आधार प्रदान करता है
- Wasmer 5.0 experimental LoongAarch64 सपोर्ट के साथ भी आता है
- compiler के नवीनतम versions के साथ
coremark benchmark करने पर, LLVM और Cranelift Wasmer v4.4.0 की तुलना में v5.0 में लगभग 8% तेज़ हैं
GN⁺ की राय
- Wasmer 5.0 का रिलीज़ WebAssembly ecosystem के लिए एक बड़ा milestone लगता है। खासकर iOS सपोर्ट और कई backend options का उपलब्ध होना WebAssembly की पहुंच को mobile applications तक काफ़ी बढ़ा सकता है
- V8, Wasmi, WAMR जैसे विभिन्न runtimes को backend के रूप में सपोर्ट करके, डेवलपर्स अब अपनी ज़रूरतों के अनुसार सबसे उपयुक्त runtime चुन सकते हैं। इससे WebAssembly की flexibility और compatibility बढ़ाने में बड़ी मदद मिलने की उम्मीद है
- codebase slimming और नए compilers को अपनाकर performance optimization पर किया गया काम भी काफ़ी उल्लेखनीय है। यह दिखाता है कि Wasmer केवल नए features जोड़ने तक सीमित नहीं है, बल्कि लगातार quality improvement पर भी काम कर रहा है
- दूसरी ओर, Emscripten bindings सपोर्ट का बंद होना थोड़ा खल सकता है, लेकिन WASI और WASIX जैसे नए standards के आने से उसकी ज़रूरत कम हुई है, इसलिए यह एक तर्कसंगत निर्णय लगता है
- कुल मिलाकर, Wasmer 5.0 WebAssembly की प्रगति को अच्छी तरह दिखाने वाला एक रिलीज़ है, और आगे भी Wasmer के WebAssembly ecosystem के प्रमुख projects में से एक बने रहने की संभावना है। हालांकि, अभी experimental stage में मौजूद features की stability और maturity बढ़ाने के लिए निरंतर प्रयास की ज़रूरत दिखती है
1 टिप्पणियां
Hacker News राय