Wasmer 2.0, WebAssembly මත පදනම් වූ යෙදුම් තැනීමේ මෙවලම් කට්ටලයක් තිබේ.

Wasmer ව්‍යාපෘතිය එහි දෙවන ප්‍රධාන නිකුතුව නිකුත් කර ඇති අතර, විවිධ මෙහෙයුම් පද්ධති මත ධාවනය කළ හැකි විශ්වීය යෙදුම් නිර්මාණය කිරීමට මෙන්ම හුදකලාව විශ්වාස නොකළ කේත ක්‍රියාත්මක කිරීමට භාවිතා කළ හැකි WebAssembly මොඩියුල ක්‍රියාත්මක කිරීම සඳහා ධාවන කාලයක් සංවර්ධනය කර ඇත. ව්‍යාපෘති කේතය රස්ට් වලින් ලියා ඇති අතර MIT බලපත්‍රය යටතේ බෙදා හරිනු ලැබේ.

ඕනෑම OS එකක ක්‍රියාත්මක විය හැකි හෝ වෙනත් ක්‍රමලේඛන භාෂා වල වැඩසටහන් වල කාවැද්දීමට හැකි, පහල මට්ටමේ WebAssembly අතරමැදි කේතයකට යෙදුම් කේතය සම්පාදනය කිරීමෙන් අතේ ගෙන යා හැකි හැකියාව ලබා ගත හැක. වැඩසටහන් WebAssembly ව්‍යාජ කේත ක්‍රියාත්මක කරන සැහැල්ලු බහාලුම් වේ. මෙම බහාලුම් මෙහෙයුම් පද්ධතියට බැඳී නොමැති අතර ඕනෑම ක්‍රමලේඛන භාෂාවකින් මුලින් ලියා ඇති කේතය ඇතුළත් කළ හැක. WebAssembly වෙත සම්පාදනය කිරීමට Emscripten මෙවලම් කට්ටලය භාවිතා කළ හැක. WebAssembly වත්මන් වේදිකාවේ යන්ත්‍ර කේතය බවට පරිවර්තනය කිරීම සඳහා, එය විවිධ සම්පාදන පසුබිම් (Singlepass, Cranelift, LLVM) සහ එන්ජින් (JIT හෝ යන්ත්‍ර කේත උත්පාදනය භාවිතයෙන්) සම්බන්ධ කිරීමට සහාය වේ.

මෙහෙයුම් පද්ධතිය මඟින් සපයනු ලබන ගොනු, සොකට් සහ අනෙකුත් කාර්යයන් සමඟ වැඩ කිරීම සඳහා ක්‍රමලේඛන අතුරුමුහුණත් සපයන WASI (WebAssembly System Interface) API භාවිතයෙන් පද්ධතිය සමඟ ප්‍රවේශ පාලනය සහ අන්තර්ක්‍රියා සපයනු ලැබේ. යෙදුම් සෑන්ඩ්බොක්ස් පරිසරයක ප්‍රධාන පද්ධතියෙන් හුදකලා වන අතර ප්‍රකාශිත ක්‍රියාකාරීත්වයට පමණක් ප්‍රවේශය ඇත (හැකියාව කළමනාකරණය මත පදනම් වූ ආරක්ෂක යාන්ත්‍රණයක් - එක් එක් සම්පත් සමඟ ක්‍රියා කිරීම සඳහා (ගොනු, නාමාවලි, සොකට්, පද්ධති ඇමතුම්, ආදිය), අයදුම්පතට සුදුසු බලතල ලබා දිය යුතුය).

WebAssembly බහාලුමක් දියත් කිරීම සඳහා, බාහිර පරායත්තතා නොමැතිව (“curl https://get.wasmer.io -sSfL | sh”) එන පද්ධතිය මත Wasmer ධාවන කාලය ස්ථාපනය කිරීම ප්‍රමාණවත් වන අතර අවශ්‍ය ගොනුව ධාවනය කරන්න (“wasmer test .wasm"). WAPM පැකේජ කළමනාකරු භාවිතයෙන් කළමනාකරණය කළ හැකි සාමාන්‍ය WebAssembly මොඩියුල ආකාරයෙන් වැඩසටහන් බෙදා හරිනු ලැබේ. Wasmer යනු Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir, සහ Java වැඩසටහන් වල WebAssembly කේත කාවැද්දීමට භාවිතා කළ හැකි පුස්තකාලයක් ලෙසද පවතී.

දේශීය එකලස්කිරීම් වලට ආසන්නව යෙදුම් ක්‍රියාත්මක කිරීමේ කාර්ය සාධනය ලබා ගැනීමට වේදිකාව ඔබට ඉඩ සලසයි. WebAssembly මොඩියුලයක් සඳහා Native Object Engine භාවිතා කරමින්, ඔබට ස්වදේශීය කේතය ("wasmer compile -native" පෙර සකසන ලද .so, .dylib සහ .dll වස්තු ගොනු උත්පාදනය කිරීම සඳහා) ජනනය කළ හැක, එය ධාවනය කිරීමට අවම ධාවන කාලයක් අවශ්‍ය වන නමුත්, එහි සියලුම විශේෂාංග රඳවා තබා ගනී. වැලිපිල්ල හුදකලා කිරීම. බිල්ට් වොස්මර් සමඟ පූර්ව සම්පාදනය කළ වැඩසටහන් සැපයිය හැකිය. Rust API සහ Wasm-C-API ඇඩෝන සහ ඇඩෝන සෑදීම සඳහා පිරිනමනු ලැබේ.

Wasmer හි අනුවාද අංකයේ සැලකිය යුතු වෙනසක් අභ්‍යන්තර API වෙත ගැළපුම බිඳීමේ වෙනස්කම් හඳුන්වාදීම සමඟ සම්බන්ධ වී ඇති අතර, සංවර්ධකයින්ට අනුව, වේදිකා භාවිතා කරන්නන්ගෙන් 99% කට බලපාන්නේ නැත. ගැළපුම බිඳ දමන වෙනස්කම් අතර, අනුක්‍රමික Wasm මොඩියුලවල ආකෘතියේ වෙනසක් ද ඇත (Wasmer 1.0 හි අනුක්‍රමික මොඩියුල Wasmer 2.0 හි භාවිතා කිරීමට නොහැකි වනු ඇත). වෙනත් වෙනස්කම්:

  • SIMD (තනි උපදෙස්, බහු දත්ත) උපදෙස් සඳහා සහාය, දත්ත මෙහෙයුම් සමාන්තරකරණයට ඉඩ සලසයි. යන්ත්‍ර ඉගෙනීම, වීඩියෝ කේතනය සහ විකේතනය, රූප සැකසීම, භෞතික ක්‍රියාවලි අනුකරණය සහ චිත්‍රක හැසිරවීම SIMD භාවිතය මඟින් කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩිදියුණු කළ හැකි ක්ෂේත්‍ර වේ.
  • වෙනත් මොඩියුලවල හෝ යටින් පවතින පරිසරයේ තොරතුරු වෙත ප්‍රවේශ වීමට Wasm මොඩියුලවලට ඉඩ සලසමින් විමර්ශන වර්ග සඳහා සහාය.
  • සැලකිය යුතු කාර්ය සාධන ප්‍රශස්තකරණයන් සිදු කර ඇත. පාවෙන ලක්ෂ්‍ය සංඛ්‍යා සහිත LLVM ධාවන කාලයෙහි වේගය ආසන්න වශයෙන් 50% කින් වැඩි කර ඇත. කර්නලයට ප්‍රවේශ වීමට අවශ්‍ය වන අවස්ථා අඩු කිරීමෙන් ක්‍රියාකාරී ඇමතුම් සැලකිය යුතු ලෙස වේගවත් කර ඇත. Cranelift කේත උත්පාදක කාර්ය සාධනය 40% කින් වැඩි කර ඇත. දත්ත ඉවත් කිරීමේ කාලය අඩු කිරීම.
    Wasmer 2.0, WebAssembly මත පදනම් වූ යෙදුම් තැනීමේ මෙවලම් කට්ටලයක් තිබේ.
    Wasmer 2.0, WebAssembly මත පදනම් වූ යෙදුම් තැනීමේ මෙවලම් කට්ටලයක් තිබේ.
  • සාරය වඩාත් නිවැරදිව පිළිබිඹු කිරීම සඳහා, එන්ජින්වල නම් වෙනස් කර ඇත: JIT → Universal, Native → Dylib (Dynamic Library), Object File → StaticLib (ස්ථිතික පුස්තකාලය).

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න