{"id":55147,"date":"2020-01-13T00:00:00","date_gmt":"2020-01-12T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly"},"modified":"2020-02-18T14:03:13","modified_gmt":"2020-02-18T11:03:13","slug":"pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly","title":{"rendered":"Pirmais wasm3 laidienu, \u0101trais WebAssembly interprets","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\/releases\">Pieejams<\/a><\/noindex> pirmais izlaidums <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\">wasm3<\/a><\/noindex>, \u013coti \u0101tra WebAssembly starpkoda interpretatora, galvenok\u0101rt paredz\u0113ts WebAssembly lietojumprogrammu palai\u0161anai mikroier\u012bc\u0113s un platform\u0101s, kur\u0101m tr\u016bkst JIT realiz\u0101cijas WebAssembly, vai ir nepietiekama atmi\u0146a JIT darb\u012bbai, vai nav iesp\u0113jams izveidot izpild\u0101mas atmi\u0146as lapas, kas nepiecie\u0161amas JIT ievie\u0161anai. Projekta kods ir uzrakst\u012bts C valod\u0101 un <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\">tiek izplat\u012bts<\/a><\/noindex> ir MIT licences ietvaros.<\/p>\n<p>Wasm3 izg passes <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/spec\/tree\/master\/test\/core\">testus<\/a><\/noindex> sader\u012bbai ar WebAssembly 1.0 specifik\u0101ciju un var tikt izmantots daudzu WASI lietojumprogrammu palai\u0161anai, nodro\u0161inot veiktsp\u0113ju tikai par 4-5 rei\u017eu zem\u0101ku nek\u0101 JIT dzin\u0113jiem (<noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/blog\/liftoff\">liftoff<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bytecodealliance\/cranelift\">cranelift<\/a><\/noindex>) un par 11.5 rei\u017eu zem\u0101ku nek\u0101 nativ\u0101 koda izpilde. Sal\u012bdzinot ar citiem WebAssembly interpretatoriem (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kanaka\/wac\">wac<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/perlin-network\/life\">life<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bytecodealliance\/wasm-micro-runtime\">wasm-micro-runtime<\/a><\/noindex>), wasm3 izr\u0101d\u012bj\u0101s \u0101tr\u0101ks par 15.8 reiz\u0113m.<\/p>\n<p>Lai darbin\u0101tu wasm3, nepiecie\u0161ami 64Kb atmi\u0146as kodam un 10Kb RAM, kas \u013cauj izmantot projektu, lai izpild\u012btu WebAssembly lietojumprogrammas uz <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\/tree\/master\/platforms\">mikroier\u012bc\u0113m<\/a><\/noindex>, piem\u0113ram, Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166),<br \/>\nMaix (K210), HiFive1 (E310), Fomu (ICE40UP5K) un ATmega1284, k\u0101 ar\u012b uz pl\u0101k\u0161\u0146u un datoriem, kuru pamat\u0101 ir x86, x64, ARM, MIPS, RISC-V un Xtensa arhitekt\u016bras. Atbalst\u012bt\u0101s oper\u0113t\u0101jsist\u0113mas ir Linux (tai skait\u0101 mar\u0161rut\u0113t\u0101ji, kas balst\u012bti uz OpenWRT), Windows, macOS, Android un iOS. T\u0101pat ir iesp\u0113jama wasm3 kompil\u0101cija WebAssembly starpkod\u0101, lai palaistu interpretatoru p\u0101rl\u016bk\u0101 vai iek\u0161\u0113jai palai\u0161anai (self-hosting).<\/p>\n<p>Augsta veiktsp\u0113ja tiek sasniegta, izmantojot interpretator\u0101 tehnolo\u0123iju <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\/blob\/master\/source\/README.md\">Massey Meta Machine<\/a><\/noindex> (M3), kur\u0101, lai samazin\u0101tu dekod\u0113\u0161anas p\u0101rslodzes izmaksas, tiek veikta iedarbino\u0161a bytecode tulko\u0161ana efekt\u012bv\u0101k\u0101s oper\u0101cij\u0101s, kas \u0123ener\u0113 pseido-ma\u0161\u012bnkodu, un steka virtu\u0101l\u0101s ma\u0161\u012bnas izpildes modelis tiek p\u0101rv\u0113rsts efekt\u012bv\u0101k\u0101 re\u0123istru pieej\u0101. Oper\u0101cijas M3 ir C funkcijas, kuru argumenti ir virtu\u0101l\u0101s ma\u0161\u012bnas re\u0123istri, kuri var tikt atspogu\u013coti CPU re\u0123istros. Bie\u017ei sastopamas oper\u0101ciju sec\u012bbas optimiz\u0101cijai tiek p\u0101rv\u0113rstas apkopot\u0101s oper\u0101cij\u0101s.<\/p>\n<p>Papildus var atz\u012bm\u0113t <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sec.cs.tu-bs.de\/pubs\/2019a-dimva.pdf\">p\u0113tniec\u012bbas rezult\u0101ti<\/a><\/noindex> izplat\u012bba<br \/>\nWebAssembly t\u012bmekl\u012b. P\u0113c 948 t\u016bksto\u0161u popul\u0101r\u0101ko viet\u0146u anal\u012bzes saska\u0146\u0101 ar Alexa reitingu, p\u0113tnieki atkl\u0101ja, ka WebAssembly tiek izmantots 1639 vietn\u0113s (0.17%), t.i., 1 no katr\u0101m 600 vietn\u0113m. Kopum\u0101 vietn\u0113s tika identific\u0113ta 1950 WebAssembly modu\u013cu iel\u0101de, no kuriem 150 ir unik\u0101li. Apsverot WebAssembly pielietojumu, tika izdar\u012bti neapmierino\u0161i secin\u0101jumi \u2014 vair\u0101k nek\u0101 50% gad\u012bjumu WebAssembly tika izmantots \u013caunpr\u0101t\u012bgiem m\u0113r\u0137iem, piem\u0113ram, kriptoval\u016btu ieguvei (55.7%) un \u013caunpr\u0101t\u012bgu skriptu koda sl\u0113p\u0161anai (0.2%). Starp leg\u0101lajiem WebAssembly pielietojumiem tika atz\u012bm\u0113ta bibliot\u0113ku izpilde (38.8%), sp\u0113\u013cu izveide (3.5%) un pa\u0161a koda izpilde, kas nav uz JavaScript rakst\u012bts (0.9%). 14.9% gad\u012bjumu WebAssembly tika izmantots vides anal\u012bzei, lai identific\u0113tu lietot\u0101ju (fingerprinting).<br \/>\n<center><img decoding=\"async\" alt=\"Pirmais wasm3 laidienu, \u0101trais WebAssembly interprets\" src=\"\/wp-content\/uploads\/2020\/01\/2df8e1633e47b0ce5d550565419bf008.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Avots: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52177\">opennet.lv<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a wasm3, \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 WebAssembly, \u0433\u043b\u0430\u0432\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 WebAssembly-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445 \u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f JIT \u0434\u043b\u044f WebAssembly, \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b JIT \u0438\u043b\u0438 \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 JIT. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55148,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55147","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a wasm3, \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a wasm3, \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 WebAssembly | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a wasm3, \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-12T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Pirmais wasm3 izlaidums, \u0101tris WebAssembly interpret\u0113t\u0101js | ProHoster","description":"Ir pieejams pirmais izn\u0101ciens wasm3, \u013coti \u0101trs.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a wasm3, \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0430 WebAssembly | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a wasm3, \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e.","og:url":"https:\/\/prohoster.info\/lv\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-12T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55147","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:50:02","updated":"2022-10-06 01:13:07","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/55147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=55147"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/55147\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/55148"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=55147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=55147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=55147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}