Wasmer 2.0, kayan aiki don gina aikace-aikacen tushen WebAssembly, yana samuwa

Aikin Wasmer ya fito da babban sakinsa na biyu, yana haɓaka lokacin aiki don aiwatar da na'urorin WebAssembly waɗanda za a iya amfani da su don ƙirƙirar aikace-aikacen duniya waɗanda za su iya aiki akan tsarin aiki daban-daban, da kuma gudanar da lambar da ba a amince da su ba a ware. An rubuta lambar aikin a cikin Rust kuma ana rarraba a ƙarƙashin lasisin MIT.

Ana samun damar aiki ta hanyar tattara lambar aikace-aikace zuwa matsakaicin lamba ta WebAssembly maras ƙarfi, wacce za ta iya aiki akan kowace OS ko kuma a saka a cikin shirye-shirye a cikin wasu harsunan shirye-shirye. Shirye-shiryen su ne kwantena masu nauyi waɗanda ke gudanar da pseudocode WebAssembly. Waɗannan kwantena ba su da alaƙa da tsarin aiki kuma suna iya haɗa lambar da aka rubuta ta asali a cikin kowane yaren shirye-shirye. Ana iya amfani da kayan aikin Emscripten don haɗawa zuwa WebAssembly. Don fassara WebAssembly zuwa lambar injin na dandamali na yanzu, yana goyan bayan haɗin haɗakarwa daban-daban na baya (Singlepass, Cranelift, LLVM) da injuna (ta amfani da JIT ko ƙirar lambar injin).

Ana ba da ikon samun dama da hulɗa tare da tsarin ta amfani da WASI (WebAssembly System Interface) API, wanda ke ba da hanyoyin sadarwa na shirye-shirye don aiki tare da fayiloli, kwasfa da sauran ayyukan da tsarin aiki ke bayarwa. Aikace-aikacen sun keɓanta daga babban tsarin a cikin yanayin sandbox kuma suna da damar kawai zuwa ayyukan da aka ayyana (na'urar tsaro ta dogara da iya aiki - don ayyuka tare da kowane albarkatun (fayil, kundayen adireshi, soket, kiran tsarin, da sauransu), aikace-aikace dole ne a ba da ikon da suka dace).

Don ƙaddamar da kwandon WebAssembly, kawai shigar da Wasmer a cikin tsarin runtime, wanda ke zuwa ba tare da dogaro na waje ba ("curl https://get.wasmer.io -sSfL | sh"), kuma gudanar da fayil ɗin da ake buƙata ("wasmer test.wasm" ). Ana rarraba shirye-shirye a cikin nau'ikan samfuran WebAssembly na yau da kullun, waɗanda za'a iya sarrafa su ta amfani da mai sarrafa fakitin WAPM. Hakanan ana samun Wasmer azaman ɗakin karatu wanda za'a iya amfani dashi don shigar da lambar yanar gizo cikin Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir, da shirye-shiryen Java.

Dandalin yana ba ku damar cimma aikin aiwatar da aikace-aikacen kusa da majalisai na asali. Ta amfani da injin kayan abu na asali don Module na yanar gizo, zaku iya samar da lambar injin ("winder code-procultible", wanda ke buƙatar karancin kayan maye .Dll .DyLiB fasali. Yana yiwuwa a samar da shirye-shiryen da aka riga aka haɗa tare da ginanniyar Wasmer. Ana ba da Rust API da Wasm-C-API don ƙirƙirar kari da kari.

Babban canji a cikin nau'in nau'in Wasmer yana da alaƙa da gabatar da canje-canje marasa jituwa ga API na ciki, wanda, bisa ga masu haɓakawa, ba zai shafi 99% na masu amfani da dandamali ba. Daga cikin sauye-sauyen da ke karya daidaituwa, akwai kuma canji a cikin sigar wasm ɗin serialized (modules serialized in Wasmer 1.0 ba za a iya amfani da su a Wasmer 2.0). Sauran canje-canje:

  • Goyon bayan SIMD (Umarori ɗaya, Bayanai da yawa) umarnin, ba da damar daidaita ayyukan bayanai. Wuraren da amfani da SIMD zai iya inganta aiki sosai sun haɗa da koyan inji, rikodin rikodin bidiyo da ƙaddamarwa, sarrafa hoto, kwaikwaiyon tsari na jiki, da sarrafa hoto.
  • Taimako don nau'ikan tunani, ƙyale samfuran Wasm don samun damar bayanai a cikin wasu kayayyaki ko a cikin mahallin da ke ƙasa.
  • An yi ingantaccen ingantaccen aiki. Gudun lokacin gudu na LLVM tare da lambobi masu iyo an ƙaru da kusan 50%. An ƙara saurin kiran ayyuka ta hanyar rage yanayin da ke buƙatar samun dama ga kwaya. An haɓaka aikin janareta na lambar Craelift da kashi 40%. Rage lokacin lalata bayanai.
    Wasmer 2.0, kayan aiki don gina aikace-aikacen tushen WebAssembly, yana samuwa
    Wasmer 2.0, kayan aiki don gina aikace-aikacen tushen WebAssembly, yana samuwa
  • Don ƙarin yin la'akari da ainihin ainihin, an canza sunayen injiniyoyi: JIT → Universal, Native → Dylib (Laburare Mai Dynamic), Fayil ɗin Abu → StaticLib (Laburaren Tsaya).

source: budenet.ru

Add a comment