मैंने हाल ही में अपनी कुछ परियोजनाओं के लिए वेब असेंबली का उपयोग शुरू किया है। मैं ऐसा कर रहा हूं क्योंकि मैंने सुना है कि मी जावास्क्रिप्ट से तेज है।
WebAssembly जावास्क्रिप्ट की तुलना में तेज़ है, लेकिन केवल कुछ उपयोग-मामलों के लिए। WebAssembly के साथ आपके ब्राउज़र को अपने कोड को डाउनलोड करने और संकलित करने के लिए कम काम करना पड़ता है, जिससे यह तेजी से स्टार्ट-अप समय देता है। हालाँकि, जब WebAssembly का रनटाइम प्रदर्शन आम तौर पर जावास्क्रिप्ट से केवल 2 से 3 गुना तेज होता है। बहुत अच्छी और व्यावहारिक तुलना के लिए निम्नलिखित लेख देखें:
https://hacks.mozilla.org/2018/01/oxidizing-source-maps-with-rust-and-webassembly/
हालाँकि, WebAssembly का कोई सीधा DOM एक्सेस नहीं है, इसलिए इसके बेहतर प्रदर्शन के बावजूद, आप पा सकते हैं कि अतिरिक्त I / O ओवरहेड के कारण यह आपके उपयोग के मामले में JavaScript की तुलना में धीमा है।
इस कारण से, वर्तमान में लोग एल्गोरिदम / कम्प्यूट-गहन कार्यों के लिए WebAssembly के साथ सबसे अधिक सफलता पा रहे हैं।
मुझे एहसास हुआ कि मुझे पता नहीं है कि कैसे सी + + में डोम को हेरफेर करना है। क्या कोई ऐसा करने का कोई तरीका है जो wasm का उपयोग करता है?
DOM को हेरफेर करने के लिए आपको जावास्क्रिप्ट होस्ट के माध्यम से ऐसा करना होगा - आपके WebAssembly मॉड्यूल को अपनी ओर से DOM को मैनिपुलेट करने के लिए जावास्क्रिप्ट 'पूछ' पर संदेश भेजना होगा।
जैसा कि यह काफी आम चुनौती है, विभिन्न सामुदायिक परियोजनाएं हैं जिनके पास समस्या का समाधान है। जैसा कि आप C ++ का उपयोग कर रहे हैं, यह आपके लिए ब्याज की हो सकती है:
https://github.com/mbasso/asm-dom
भविष्य में, यह आसान हो जाएगा, इंटरफ़ेस प्रकार जैसे प्रस्ताव मेजबान वातावरण के साथ हस्तक्षेप करना आसान बना रहे हैं और वेब एपीआई को सीधे WebAssembly से कॉल करने की अनुमति दे सकते हैं।