ืื ืืืึทืกืืขืจ ืคึผืจืืืขืงื ืืื ืืืคืจืืื ืืืื ืฆืืืืื ืืืืคึผื ืืขืืืื ื, ืืขืืืขืืึธืคึผืื ื ืึท ืจืื ืืืืข ืคึฟืึทืจ ืขืงืกืึทืงืืืืื ื ืืืขืืึทืกืกืขืืืื ืืึทืืืฉืืื ืืืึธืก ืงืขื ืขื ืืืขืจื ืืขื ืืฆื ืฆื ืฉืึทืคึฟื ืื ืืืืขืจืกืึทื ืึทืคึผืืึทืงืืืฉืึทื ื ืืืึธืก ืงืขื ืขื ืืืืคื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืึธืคึผืขืจืืืืื ื ืกืืกืืขืืขื, ืืื ืืขืืื ื ืืื ืฆื ืืืืคื ืึทื ืืจืึทืกืืื ืงืึธื ืืื ืืคืืขืืื ืืขืจืืงืืื. ืื ืคึผืจืืืขืงื ืงืึธื ืืื ืืขืฉืจืืื ืืื 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%. ืจืืืืกื ืืึทืืข ืืขืกืขืจืืึทืืืืืืฉืึทื ืฆืืึทื.
- ืฆื ืืขืจ ืึทืงืืขืจืึทืืื ืคืึทืจืืจืึทืืื ืืื ืื ืขืกืึทื ืก, ืื ื ืขืืขื ืคืื ืื ืขื ืืืฉืึทื ื ืืขื ืขื ืืฉืืื ืืืฉื: JIT โ ืื ืืืืขืจืกืึทื, ืืขืืืืจื โ Dylib (ืืื ืึทืืืฉ ืืืืืืึธืืขืง), ืึธืืืืฉืขืงื ืืขืงืข โ StaticLib (ืกืืึทืืืง ืืืืืืึธืืขืง).
ืืงืืจ: opennet.ru