{"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\/ro\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly","title":{"rendered":"Prima versiune a wasm3, un interpret rapid pentru WebAssembly","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\/releases\">Disponibil<\/a><\/noindex> prima versiune <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\">wasm3<\/a><\/noindex>, un interpretator foarte rapid al codului intermediar WebAssembly, destinat \u00een principal utiliz\u0103rii pentru rularea aplica\u021biilor WebAssembly pe microcontrolere \u0219i platforme unde nu exist\u0103 o implementare JIT pentru WebAssembly, unde memoria disponibil\u0103 pentru func\u021bionarea JIT este insuficient\u0103 sau nu este permis\u0103 crearea de pagini executabile necesare pentru implementarea JIT. Codul proiectului este scris \u00een C \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\">se r\u0103sp\u00e2nde\u0219te<\/a><\/noindex> sub licen\u021ba MIT.<\/p>\n<p>Wasm3 trece <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WebAssembly\/spec\/tree\/master\/test\/core\">teste<\/a><\/noindex> compatibilitatea cu specifica\u021bia WebAssembly 1.0 \u0219i poate fi utilizat pentru a rula multe aplica\u021bii WASI, asigur\u00e2nd o performan\u021b\u0103 cu doar 4-5 ori mai mic\u0103 dec\u00e2t motoarele JIT (<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>) \u0219i cu 11,5 ori mai mic\u0103 dec\u00e2t execu\u021bia codului nativ. Compar\u00e2nd cu al\u021bi interpre\u021bi WebAssembly (<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 s-a dovedit a fi mai rapid cu 15,8 ori.<\/p>\n<p>Pentru a func\u021biona, wasm3 necesit\u0103 64Kb de memorie pentru cod \u0219i 10Kb RAM, ceea ce permite utilizarea proiectului pentru a rula aplica\u021bii compilate \u00een WebAssembly pe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\/tree\/master\/platforms\">microcontrolere<\/a><\/noindex>, cum ar fi 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) \u0219i ATmega1284, precum \u0219i pe pl\u0103ci \u0219i computere bazate pe arhitecturi x86, x64, ARM, MIPS, RISC-V \u0219i Xtensa. Sistemele de operare acceptate includ Linux (inclusiv routere bazate pe OpenWRT), Windows, macOS, Android \u0219i iOS. De asemenea, este posibil\u0103 compilarea wasm3 \u00een cod intermediar WebAssembly pentru rularea interpretatorului \u00een browser sau pentru auto-g\u0103zduire.<\/p>\n<p>Performan\u021ba ridicat\u0103 este realizat\u0103 prin utilizarea tehnicii <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wasm3\/wasm3\/blob\/master\/source\/README.md\">Massey Meta Machine<\/a><\/noindex> (M3), \u00een care pentru a reduce overhead-ul \u00een decodarea bytecode-ului, se efectueaz\u0103 o traducere anticipat\u0103 a bytecode-ului \u00een opera\u021biuni mai eficiente, gener\u00e2nd cod pseudo-ma\u0219in\u0103, iar modelul de execu\u021bie al ma\u0219inii virtuale pe stiv\u0103 este transformat \u00eentr-o abordare bazat\u0103 pe registre mai eficient\u0103. Opera\u021biile din M3 sunt func\u021bii C, a c\u0103ror argumente sunt registrele ma\u0219inii virtuale, care pot fi reflectate asupra registrelor CPU. Secven\u021bele frecvente de opera\u021bii pentru optimizare sunt transformate \u00een opera\u021bii rezumative.<\/p>\n<p>apari\u021bia <noindex><a rel=\"nofollow\" href=\"https:\/\/www.sec.cs.tu-bs.de\/pubs\/2019a-dimva.pdf\">rezultatele studiului<\/a><\/noindex> distribu\u021biei<br \/>\nWebAssembly \u00een web. Analiz\u00e2nd 948 de mii dintre cele mai populare site-uri conform clasamentului Alexa, cercet\u0103torii au descoperit c\u0103 WebAssembly este folosit pe 1639 de site-uri (0,17%), adic\u0103 pe 1 din fiecare 600 de site-uri. \u00cen total, pe site-uri au fost identificate 1950 de module WebAssembly, dintre care 150 sunt unice. \u00cen ceea ce prive\u0219te domeniul de aplicare al WebAssembly, au fost trase concluzii \u00eengrijor\u0103toare - \u00een mai mult de 50% din cazuri, WebAssembly a fost utilizat \u00een scopuri mali\u021bioase, de exemplu pentru minerit de criptomonede (55,7%) \u0219i mascare a codului scripturilor mali\u021bioase (0,2%). Dintre utiliz\u0103rile legitime ale WebAssembly, s-au remarcat executarea bibliotecilor (38,8%), crearea de jocuri (3,5%) \u0219i executarea propriului cod, scris \u00een afara JavaScript (0,9%). \u00cen 14,9% din cazuri, WebAssembly a fost utilizat pentru analiza mediului \u00een vederea identific\u0103rii utilizatorului (fingerprinting).<br \/>\n<center><img decoding=\"async\" alt=\"Prima versiune a wasm3, un interpret rapid pentru WebAssembly\" 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>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52177\">opennet.ro<\/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\/ro\/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=\"ro_RO\" \/>\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\/ro\/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\udd47Primul release wasm3, un interpret rapid pentru WebAssembly | ProHoster","description":"Primul release wasm3, foarte rapid, este disponibil.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/pervyj-vypusk-wasm3-bystrogo-interpretatora-webassembly","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/55147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=55147"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/55147\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/55148"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=55147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=55147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=55147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}