È disponibile Wasmer 2.0, un toolkit per la creazione di applicazioni basate su WebAssembly.

Бостоялся Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Wasmer, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ runtime для выполнСния ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ WebAssembly, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, способных Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ выполнСния ΠΊΠΎΠ΄Π°, Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ довСрия. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Rust ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΠΎΡΡ‚ΡŒ обСспСчиваСтся благодаря компиляции ΠΊΠΎΠ΄Π° прилоТСния Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ WebAssembly, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Π»ΡŽΠ±Ρ‹Ρ… ОБ ΠΈΠ»ΠΈ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой лСгковСсныС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выполняСтся псСвдокод WebAssembly. Π”Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π½Π΅ привязаны ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написанный Π½Π° любом языкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Для компиляции Π² WebAssembly ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ инструмСнтарий Emscripten. Для трансляции WebAssembly Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ поддСрТиваСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… бэкСндов компиляции (Singlepass, Cranelift, LLVM) ΠΈ Π΄Π²ΠΈΠΆΠΊΠΎΠ² (задСйствованиС JIT ΠΈΠ»ΠΈ гСнСрация машинного ΠΊΠΎΠ΄Π°).

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом ΠΈ взаимодСйствиС с систСмой обСспСчиваСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ API WASI (WebAssembly System Interface), ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ интСрфСйсы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, сокСтами ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ функциями, прСдоставляСмыми ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΎΡ‚ основной систСмы Π² sandbox-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ заявлСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ бСзопасности Π½Π° основС управлСния возмоТностями β€” для дСйствий с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· рСсурсов (Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, сокСты, систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ Ρ‚.ΠΏ.) ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄Π°Π½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ полномочия).

Per avviare un container WebAssembly, Γ¨ sufficiente installare il runtime Wasmer nel sistema, che viene fornito senza dipendenze esterne ("curl https://get.wasmer.io -sSfL | sh") e avviare il file necessario ("wasmer test.wasm"). I programmi sono distribuiti sotto forma di normali moduli WebAssembly, gestibili tramite il gestore di pacchetti WAPM. Wasmer Γ¨ anche disponibile come libreria, utilizzabile per incorporare codice WebAssembly in programmi scritti in Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir e Java.

La piattaforma permette di raggiungere prestazioni di esecuzione delle applicazioni simili a quelle delle build nativo. Utilizzando il Native Object Engine per il modulo WebAssembly, Γ¨ possibile generare codice macchina (β€˜wasmer compile β€”native’ per generare file oggetto precompilati .so, .dylib e .dll), la cui esecuzione richiede un runtime minimo, ma mantiene tutte le capacitΓ  di isolamento sandbox. È possibile fornire programmi precompilati con Wasmer integrato. Sono disponibili API Rust e Wasm-C-API per la creazione di estensioni e plugin.

Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ смСна Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии Wasmer связана с внСсСниСм Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ Π·Π°Π²Π΅Ρ€Π΅Π½ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ отразятся Π½Π° 99% ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Из Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΡ… ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ отмСчаСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° сСриализированных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Wasm (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, сСриализированныС Π² Wasmer 1.0, Π½Π΅ смогут ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Wasmer 2.0). Π”Ρ€ΡƒΠ³ΠΈΠ΅ измСнСния:

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° инструкций SIMD (Single Instruction, Multiple Data), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ распараллСливаниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Из областСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SIMD ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, отмСчаСтся машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, симуляция физичСских процСссов ΠΈ манипуляции с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ссылочных Ρ‚ΠΈΠΏΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… модулям Wasm ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… модулях ΠΈΠ»ΠΈ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ LLVM runtime с числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 50%. Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорСн Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π·Π° счёт сокращСния ситуаций, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… обращСния ΠΊ ядру. На 40% ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Cranelift. Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ врСмя дСсСриализации Π΄Π°Π½Π½Ρ‹Ρ….
    È disponibile Wasmer 2.0, un toolkit per la creazione di applicazioni basate su WebAssembly.
    È disponibile Wasmer 2.0, un toolkit per la creazione di applicazioni basate su WebAssembly.
  • Для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ отраТСния сути ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ названия Π΄Π²ΠΈΠΆΠΊΠΎΠ²: JIT β†’ Universal, Native β†’ Dylib (Dynamic Library), Object File β†’ StaticLib (Static Library).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server πŸ”₯ Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster