wasm3 جو پهريون رليز، هڪ تيز WebAssembly مترجم

دستياب پهريون ايڊيشن wasm3, هڪ تمام تيز WebAssembly وچولي ڪوڊ مترجم بنيادي طور تي استعمال ڪرڻ لاءِ استعمال ڪرڻ لاءِ WebAssembly ايپليڪيشنون مائڪرو ڪنٽرولرز ۽ پليٽ فارمن تي جن وٽ WebAssembly لاءِ JIT لاڳو ناهي، JIT کي هلائڻ لاءِ ڪافي ميموري نه آهي، يا JIT کي لاڳو ڪرڻ لاءِ گهربل ايگزيڪيوٽو ميموري صفحا نه ٺاهي سگهيا آهن. . پروجيڪٽ ڪوڊ C ۽ ۾ لکيل آهي طرفان ورهايل MIT لائسنس تحت.

Wasm3 گذري ٿو تجربا WebAssembly 1.0 وضاحتن سان مطابقت رکي ٿي ۽ ڪيترن ئي WASI ايپليڪيشنن کي هلائڻ لاءِ استعمال ٿي سگھي ٿي، ڪارڪردگي مهيا ڪندي صرف 4-5 ڀيرا JIT انجڻن کان گھٽ (کڻڻ, ڪرين لفٽ) ۽ 11.5 ڀيرا مقامي ڪوڊ جي عمل کان گھٽ. جڏهن ٻين WebAssembly مترجمن سان مقابلي ۾ (wAC, زندگي, wasm-micro-runtime)، wasm3 15.8 ڀيرا تيز ٿي ويو.

wasm3 هلائڻ لاءِ، توهان کي 64Kb ڪوڊ ميموري ۽ 10Kb RAM جي ضرورت آهي، جيڪا توهان کي اجازت ڏئي ٿي ته پراجيڪٽ کي استعمال ڪرڻ لاءِ WebAssembly ۾ مرتب ڪيل ايپليڪيشنن کي هلائڻ لاءِ. microcontrollers، جهڙوڪ Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 بليو پِل (STM32F103C8T6), MXChip AZ3166 (EMW3166),
Maix (K210)، HiFive1 (E310)، Fomu (ICE40UP5K) ۽ ATmega1284، گڏوگڏ بورڊ ۽ ڪمپيوٽرن تي ٻڌل آهن x86، x64، ARM، MIPS، RISC-V ۽ Xtensa آرڪيٽيڪچرز. سپورٽ ٿيل آپريٽنگ سسٽم ۾ لينڪس (بشمول OpenWRT تي ٻڌل روٽرز)، ونڊوز، MacOS، Android ۽ iOS شامل آهن. اهو پڻ ممڪن آهي ته wasm3 کي گڏ ڪرڻ WebAssembly وچولي ڪوڊ ۾ ترجمو ڪندڙ کي هلائڻ لاءِ برائوزر ۾ يا nested execution (خود ميزباني) لاءِ.

اعلي ڪارڪردگي ترجمي ۾ ٽيڪنالاجي جي استعمال ذريعي حاصل ڪئي وئي آهي ميسي ميٽا مشين (M3)، جيڪو بائيڪوٽڊ ڊيڪوڊنگ اوور هيڊ کي گھٽائڻ لاءِ بائيٽ ڪوڊ کي وڌيڪ موثر سيوڊو-مشين ڪوڊ پيدا ڪرڻ واري عملن ۾ ترجمو ڪري ٿو، ۽ اسٽيڪ بيسڊ ورچوئل مشين ايگزيڪيوشن ماڊل کي وڌيڪ موثر رجسٽر بيسڊ اپروچ ۾ بدلائي ٿو. M3 ۾ آپريشنز سي فنڪشن آھن جن جا دليل ورچوئل مشين رجسٽر آھن جيڪي سي پي يو رجسٽرز تي ميپ ڪري سگھجن ٿيون. اصلاح جي عملن جي اڪثر واقعن کي خلاصو آپريشن ۾ تبديل ڪيو وڃي ٿو.

اضافي طور تي، اهو نوٽ ڪري سگهجي ٿو تحقيق جا نتيجا پکيڙڻ
WebAssembly ويب تي. Alexa جي درجه بندي جي مطابق 948 هزار مشهور سائيٽن جو تجزيو ڪرڻ کان پوءِ، محققن کي معلوم ٿيو ته WebAssembly 1639 سائيٽن (0.17٪) تي استعمال ٿئي ٿي، يعني. هر 1 سائيٽن مان 600 تي. مجموعي طور تي، سائيٽن تي 1950 WebAssembly ماڊلز ڊائون لوڊ ڪيا ويا، جن مان 150 منفرد هئا. WebAssembly جي استعمال جي دائري تي غور ڪندي، مايوس ڪندڙ نتيجا ڪڍيا ويا - 50٪ کان وڌيڪ ڪيسن ۾، WebAssembly بدسلوڪي مقصدن لاءِ استعمال ڪيو ويو، مثال طور، مائننگ cryptocurrency (55.7٪) ۽ بدسلوڪي اسڪرپٽ جو ڪوڊ لڪائڻ لاءِ (0.2٪) . WebAssembly جا جائز استعمال شامل آھن ھلندڙ لائبريريون (38.8%)، رانديون ٺاھڻ (3.5%)، ۽ ھلندڙ ڪسٽم نان جاوا اسڪرپٽ ڪوڊ (0.9%). 14.9٪ ڪيسن ۾، WebAssembly استعمال ڪيو ويو ماحول جو تجزيو ڪرڻ لاءِ صارف جي سڃاڻپ (فنگر پرنٽنگ).

wasm3 جو پهريون رليز، هڪ تيز WebAssembly مترجم

جو ذريعو: opennet.ru

تبصرو شامل ڪريو