Wasmer 2.0, ืึท ื˜ืึธืึธืœืงื™ื˜ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื•ื•ืขื‘ ืึทืกืขืžื‘ืœื™, ืื™ื– ื‘ื ื™ืžืฆื

ื“ื™ ื•ื•ืึทืกืžืขืจ ืคึผืจื•ื™ืขืงื˜ ื”ืื˜ ื‘ืืคืจื™ื™ื˜ ื–ื™ื™ืŸ ืฆื•ื•ื™ื™ื˜ ื”ื•ื™ืคึผื˜ ืžืขืœื“ื•ื ื’, ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ืจื•ื ื˜ื™ืžืข ืคึฟืึทืจ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืžืึทื“ื–ืฉื•ืœื– ื•ื•ืึธืก ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืฉืึทืคึฟืŸ ื•ื ื™ื•ื•ืขืจืกืึทืœ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ืงืขื ืขืŸ ืœื•ื™ืคืŸ ืื•ื™ืฃ ืคืึทืจืฉื™ื“ืขื ืข ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืฆื• ืœื•ื™ืคืŸ ืึทื ื˜ืจืึทืกื˜ื™ื“ ืงืึธื“ ืื™ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜. ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืงืึธื“ ืื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Rust ืื•ืŸ ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ MIT ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ.

ืคึผืึธืจื˜ืึทื‘ื™ืœื™ื˜ื™ ืื™ื– ืึทื˜ืฉื™ื•ื•ื“ ื“ื•ืจืš ืงืึทืžืคึผื™ื™ืœื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ืื™ืŸ ื ื™ื“ืขืจื™ืง-ืžื“ืจื’ื” ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ืงืึธื“, ื•ื•ืึธืก ืงืขื ืขืŸ ืœื•ื™ืคืŸ ืื•ื™ืฃ ืงื™ื™ืŸ ืึทืก ืึธื“ืขืจ ื–ื™ื™ืŸ ืขืžื‘ืขื“ื™ื“ ืื™ืŸ ืžื’ื™ืœื” ืื™ืŸ ืื ื“ืขืจืข ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ. ื“ื™ ืžื’ื™ืœื” ื–ืขื ืขืŸ ืœื™ื™ื˜ื•ื•ื™ื™ื˜ ืงืึทื ื˜ื™ื™ื ืขืจื– ื•ื•ืึธืก ืœื•ื™ืคืŸ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืคึผืกืขื•ื•ื“ืึธืงืึธื“ืข. ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจื– ื–ืขื ืขืŸ ื ื™ืฉื˜ ื˜ื™ื™ื“ ืฆื• ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื ืื•ืŸ ืงืขื ืขืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืงืึธื“ ืขืจื™ื“ื–ืฉื ืึทืœื™ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืงื™ื™ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทืš. ื“ื™ ืขืžืกืงืจื™ืคึผื˜ืขืŸ ื˜ืึธืึธืœืงื™ื˜ ืงืขื ืขืŸ ื•ื•ืขืจืŸ ื’ืขื ื•ืฆื˜ ืฆื• ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืฆื• ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™. ืฆื• ืื™ื‘ืขืจื–ืขืฆืŸ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืื™ืŸ ืžืึทืฉื™ืŸ ืงืึธื“ ืคื•ืŸ ื“ื™ ืงืจืึทื ื˜ ืคึผืœืึทื˜ืคืึธืจืžืข, ืขืก ืฉื˜ื™ืฆื˜ ื“ื™ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ื–ืึทืžืœื•ื ื’ ื‘ืึทืงืขื ื“ื– (ืกื™ื ื’ืœืขืคึผืึทืกืก, ืงืจืึทื ืขืœื™ืคื˜, LLVM) ืื•ืŸ ืขื ื“ื–ืฉืึทื ื– (ื ื™ืฆืŸ JIT ืึธื“ืขืจ ืžืึทืฉื™ืŸ ืงืึธื“ ื“ื•ืจ).

ืึทืงืกืขืก ืงืึธื ื˜ืจืึธืœ ืื•ืŸ ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืžื™ื˜ ื“ื™ ืกื™ืกื˜ืขื ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ืžื™ื˜ ื“ื™ WASI (WebAssembly System Interface) API, ื•ื•ืึธืก ื’ื™ื˜ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืคึฟืึทืจ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื˜ืขืงืขืก, ืกืึทืงืึทืฅ ืื•ืŸ ืื ื“ืขืจืข ืคืึทื ื’ืงืฉืึทื ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ ืึธืคึผืขืจื™ื™ื˜ื™ื ื’ ืกื™ืกื˜ืขื. ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ื–ืขื ืขืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืคื•ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ ืกื™ืกื˜ืขื ืื™ืŸ ืึท ื–ืึทืžื“ืงืึทืกื˜ืŸ ืกื•ื•ื™ื•ื•ืข ืื•ืŸ ื”ืึธื‘ืŸ ืึทืงืกืขืก ื‘ืœื•ื™ื– ืฆื• ื“ื™ ื“ืขืจืงืœืขืจื˜ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ (ืึท ื–ื™ื›ืขืจื”ื™ื™ื˜ ืžืขืงืึทื ื™ื–ืึทื ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืคื™ื™ื™ืงื™ื™ื˜ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ - ืคึฟืึทืจ ืึทืงืฉืึทื ื– ืžื™ื˜ ื™ืขื“ืขืจ ืคื•ืŸ ื“ื™ ืจืขืกื•ืจืกืŸ (ืคื™ืœืขืก, ื“ื™ื™ืจืขืงื˜ืขืจื™ื–, ืกืึทืงืึทืฅ, ืกื™ืกื˜ืขื ืจื•ืคื˜, ืืื–"ื• ื•). ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขื’ืขื‘ืŸ ื“ื™ ืฆื•ื ืขืžืขืŸ ื›ื•ื—ื•ืช).

ืฆื• ืงืึทื˜ืขืจ ืึท ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืงืึทื ื˜ื™ื™ื ืขืจ, ื ืึธืจ ื™ื ืกื˜ืึทืœื™ืจืŸ Wasmer ืื™ืŸ ื“ื™ ืจื•ื ื˜ื™ืžืข ืกื™ืกื˜ืขื, ื•ื•ืึธืก ืงื•ืžื˜ ืึธืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ("ืงืขืจืœ https://get.wasmer.io -sSfL | sh"), ืื•ืŸ ืœื•ื™ืคืŸ ื“ื™ ื ื™ื™ื˜ื™ืง ื˜ืขืงืข ("wasmer test.wasm" ). ืžื’ื™ืœื” ื–ืขื ืขืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืจืขื’ื•ืœืขืจ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืžืึทื“ื–ืฉื•ืœื–, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืจืื˜ืŸ ืžื™ื˜ ื“ื™ WAPM ืคึผืขืงืœ ืคืึทืจื•ื•ืึทืœื˜ืขืจ. Wasmer ืื™ื– ืื•ื™ืš ื‘ื ื™ืžืฆื ื•ื•ื™ ืึท ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืฆื• ื™ืžื‘ืขื“ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืงืึธื“ ืื™ืŸ Rust, C/C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir ืื•ืŸ Java ืžื’ื™ืœื”.

ื“ื™ ืคึผืœืึทื˜ืคืึธืจืžืข ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ื ืึธืขื ื˜ ืฆื• ื’ืขื‘ื•ื™ืจืŸ ืึทืกืขืžื‘ืœื™ื–. ื ื™ืฆืŸ ื“ื™ ื ืึทื˜ื™ื•ื•ืข ืึธื‘ื“ื–ืฉืขืงื˜ ืขื ื’ื™ื ืข ืคึฟืึทืจ ื“ื™ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืžืึธื“ื•ืœืข, ืื™ืจ ืงืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืžืึทืฉื™ืŸ ืงืึธื“ ("ื•ื•ืึทืกืขืจ ืงืึทืžืคึผื™ื™ืœ - ื’ืขื‘ื•ื™ืจืŸ" ืฆื• ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืคึผืจืขืงืึธืžืคึผื™ื™ืœื“ .ืกืึธ, .ื“ื™ืœื™ื‘ ืื•ืŸ .ื“ืœืœ ืึทื‘ื“ื–ืฉืขืงื˜ ื˜ืขืงืขืก), ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– ืžื™ื ื™ืžืึทืœ ืจื•ื ื˜ื™ืžืข ืฆื• ืœื•ื™ืคืŸ, ืึธื‘ืขืจ ืจื™ื˜ื™ื™ืŸ ืึทืœืข ื“ื™ ื–ืึทืžื“ืงืึทืกื˜ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜. ืื™ื™ื ืจื™ื›ื˜ื•ื ื’ืขืŸ. ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืคึผืจื™ืงืึธืžืคึผื™ื™ืœื“ ืžื’ื™ืœื” ืžื™ื˜ ืึท ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื•ื•ืึทืกืžืขืจ. ื“ื™ Rust API ืื•ืŸ Wasm-C-API ื–ืขื ืขืŸ ื’ืขืคึฟื™ื ื˜ ืฆื• ืฉืึทืคึฟืŸ ืึทื“ื™ืฉืึทื ื– ืื•ืŸ ื™ืงืกื˜ืขื ืฉืึทื ื–.

ื ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืขื ื“ืขืจื•ื ื’ ืื™ืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ื ื•ืžืขืจ ืคื•ืŸ Wasmer ืื™ื– ืคืืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ ื”ืงื“ืžื” ืคื•ืŸ ื™ื ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ื™ื ืขืจืœืขืš ืึทืคึผื™, ื•ื•ืึธืก, ืœื•ื™ื˜ ื“ื™ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก, ื•ื•ืขื˜ ื ื™ืฉื˜ ื•ื•ื™ืจืงืŸ 99% ืคื•ืŸ ืคึผืœืึทื˜ืคืึธืจืžืข ื ื™ืฆืขืจืก. ืฆื•ื•ื™ืฉืŸ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ืึธืก ื‘ืจืขื›ืŸ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™, ืขืก ืื™ื– ืื•ื™ืš ืึท ืขื ื“ืขืจื•ื ื’ ืื™ืŸ ื“ื™ ืคึฟืึธืจืžืึทื˜ ืคื•ืŸ ืกื™ืจื™ืึทืœื™ื–ืขื“ ื•ื•ืึทืกื ืžืึทื“ื–ืฉื•ืœื– (ืžืึทื“ื–ืฉื•ืœื– ืกื™ืจื™ืึทืœื™ื™ื–ื“ ืื™ืŸ ื•ื•ืึทืกืžืขืจ 1.0 ื•ื•ืขื˜ ื ื™ืฉื˜ ืงืขื ืขืŸ ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืื™ืŸ ื•ื•ืึทืกืžืขืจ 2.0). ืื ื“ืขืจืข ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ SIMD (ืื™ื™ืŸ ื™ื ืกื˜ืจื•ืงื˜ื™ืึธืŸ, ืงื™ื™ืคืœ ื“ืึทื˜ืึท) ื™ื ืกื˜ืจืึทืงืฉืึทื ื–, ืึทืœืึทื•ื™ื ื’ ืคึผืึทืจืึทืœืขืœื™ื–ืึทื˜ื™ืึธืŸ ืคื•ืŸ ื“ืึทื˜ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื–. ื’ืขื‘ื™ื˜ืŸ ืื™ืŸ ื•ื•ืึธืก ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ SIMD ืงืขื ืขืŸ ื‘ืื˜ื™ื™ื˜ื™ืง ืคึฟืึทืจื‘ืขืกืขืจืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ, ื•ื•ื™ื“ืขื ืงืึธื“ื™ืจื•ื ื’ ืื•ืŸ ื“ื™ืงืึธื•ื“ื™ื ื’, ื‘ื™ืœื“ ืคึผืจืึทืกืขืกื™ื ื’, ื’ืฉืžื™ื•ืช ืคึผืจืึธืฆืขืก ืกื™ืžื™ืึทืœื™ื™ืฉืึทืŸ ืื•ืŸ ื’ืจืึทืคื™ืงืก ืžืึทื ื™ืคึผื™ืึทืœื™ื™ืฉืึทืŸ.
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืจืขืคึฟืขืจืขื ืฅ ื˜ื™ื™ืคึผืก, ืึทืœืึทื•ื™ื ื’ Wasm ืžืึทื“ื–ืฉื•ืœื– ืฆื• ืึทืงืกืขืก ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืื™ืŸ ืื ื“ืขืจืข ืžืึทื“ื–ืฉื•ืœื– ืึธื“ืขืจ ืื™ืŸ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ืกื•ื•ื™ื•ื•ืข.
  • ื‘ืึทื˜ื™ื™ื˜ื™ืง ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึธืคึผื˜ื™ืžื™ื–ืึทื˜ื™ืึธื ืก ื–ืขื ืขืŸ ื’ืขืžืื›ื˜. ื“ื™ ื’ื™ื›ืงื™ื™ึทื˜ ืคื•ืŸ LLVM ืจื•ื ื˜ื™ืžืข ืžื™ื˜ ืคืœืึธื•ื˜ื™ื ื’ ืคื•ื ื˜ ื ื•ืžืขืจืŸ ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืžื™ื˜ ื‘ืขืขืจืขืš 50%. ืคื•ื ืงืฆื™ืข ืจื•ืคื˜ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื‘ืื˜ื™ื™ื˜ื™ืง ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื“ ื“ื•ืจืš ืจื™ื“ื•ืกื™ื ื’ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก ื•ื•ืึธืก ื“ืึทืจืคืŸ ืึทืงืกืขืก ืฆื• ื“ื™ ืงืขืจืŸ. ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืงืจืึทื ืขืœื™ืคื˜ ืงืึธื“ ื’ืขื ืขืจืึทื˜ืึธืจ ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืžื™ื˜ 40%. ืจื™ื“ื•ืกื˜ ื“ืึทื˜ืข ื“ืขืกืขืจื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืฆื™ื™ึทื˜.
    Wasmer 2.0, ืึท ื˜ืึธืึธืœืงื™ื˜ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื•ื•ืขื‘ ืึทืกืขืžื‘ืœื™, ืื™ื– ื‘ื ื™ืžืฆื
    Wasmer 2.0, ืึท ื˜ืึธืึธืœืงื™ื˜ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื•ื•ืขื‘ ืึทืกืขืžื‘ืœื™, ืื™ื– ื‘ื ื™ืžืฆื
  • ืฆื• ืžืขืจ ืึทืงื™ืขืจืึทื˜ืœื™ ืคืึทืจื˜ืจืึทื›ื˜ื  ื–ื™ืš ื“ื™ ืขืกืึทื ืก, ื“ื™ ื ืขืžืขืŸ ืคื•ืŸ ื“ื™ ืขื ื“ื–ืฉืึทื ื– ื–ืขื ืขืŸ ื˜ืฉื™ื™ื ื“ื–ืฉื“: JIT โ†’ ื•ื ื™ื•ื•ืขืจืกืึทืœ, ื’ืขื‘ื•ื™ืจืŸ โ†’ Dylib (ื“ื™ื ืึทืžื™ืฉ ื‘ื™ื‘ืœื™ืึธื˜ืขืง), ืึธื‘ื“ื–ืฉืขืงื˜ ื˜ืขืงืข โ†’ StaticLib (ืกื˜ืึทื˜ื™ืง ื‘ื™ื‘ืœื™ืึธื˜ืขืง).

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’