Wasmer 2.0, WebAssembly அடிப்படையில் பயன்பாடுகளை உருவாக்குவதற்கான கருவித்தொகுப்பு உள்ளது

Wasmer திட்டம் அதன் இரண்டாவது பெரிய வெளியீட்டை வெளியிட்டுள்ளது, WebAssembly தொகுதிகளை இயக்குவதற்கான இயக்க நேரத்தை உருவாக்குகிறது, இது பல்வேறு இயக்க முறைமைகளில் இயங்கக்கூடிய உலகளாவிய பயன்பாடுகளை உருவாக்கவும், அதே போல் நம்பத்தகாத குறியீட்டை தனிமையில் இயக்கவும் பயன்படுகிறது. திட்டக் குறியீடு ரஸ்டில் எழுதப்பட்டு எம்ஐடி உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

பயன்பாட்டுக் குறியீட்டை குறைந்த-நிலை WebAssembly இடைநிலைக் குறியீடாக தொகுப்பதன் மூலம் பெயர்வுத்திறன் அடையப்படுகிறது, இது எந்த OS இல் இயங்கலாம் அல்லது பிற நிரலாக்க மொழிகளில் உள்ள நிரல்களில் உட்பொதிக்கப்படலாம். நிரல்கள் WebAssembly சூடோகுறியீட்டை இயக்கும் இலகுரக கொள்கலன்கள். இந்த கொள்கலன்கள் இயக்க முறைமையுடன் இணைக்கப்படவில்லை மற்றும் எந்த நிரலாக்க மொழியிலும் முதலில் எழுதப்பட்ட குறியீட்டையும் சேர்க்கலாம். WebAssemblyக்கு தொகுக்க எம்ஸ்கிரிப்டன் கருவித்தொகுப்பைப் பயன்படுத்தலாம். WebAssemblyஐ தற்போதைய இயங்குதளத்தின் இயந்திரக் குறியீடாக மொழிபெயர்க்க, இது பல்வேறு தொகுத்தல் பின்தளங்கள் (Singlepass, Cranelift, LLVM) மற்றும் இயந்திரங்கள் (JIT அல்லது இயந்திரக் குறியீடு உருவாக்கத்தைப் பயன்படுத்தி) இணைப்பை ஆதரிக்கிறது.

WASI (WebAssembly System Interface) API ஐப் பயன்படுத்தி கணினியுடன் அணுகல் கட்டுப்பாடு மற்றும் தொடர்பு வழங்கப்படுகிறது, இது இயக்க முறைமையால் வழங்கப்படும் கோப்புகள், சாக்கெட்டுகள் மற்றும் பிற செயல்பாடுகளுடன் பணிபுரிய நிரலாக்க இடைமுகங்களை வழங்குகிறது. பயன்பாடுகள் சாண்ட்பாக்ஸ் சூழலில் பிரதான அமைப்பிலிருந்து தனிமைப்படுத்தப்பட்டு, அறிவிக்கப்பட்ட செயல்பாடுகளுக்கு மட்டுமே அணுகலைக் கொண்டுள்ளன (திறன் நிர்வாகத்தின் அடிப்படையிலான பாதுகாப்பு பொறிமுறை - ஒவ்வொரு ஆதாரங்களுடனும் (கோப்புகள், கோப்பகங்கள், சாக்கெட்டுகள், கணினி அழைப்புகள் போன்றவை) செயல்களுக்கு, விண்ணப்பத்திற்கு உரிய அதிகாரங்கள் வழங்கப்பட வேண்டும்).

ஒரு WebAssembly கண்டெய்னரைத் தொடங்க, வெளிப்புற சார்புகள் இல்லாமல் (“curl https://get.wasmer.io -sSfL | sh”) வரும் இயக்க நேர அமைப்பில் Wasmer ஐ நிறுவி, தேவையான கோப்பை இயக்கவும் (“wasmer test.wasm” ) நிரல்கள் வழக்கமான WebAssembly தொகுதிகள் வடிவில் விநியோகிக்கப்படுகின்றன, அவை WAPM தொகுப்பு மேலாளரைப் பயன்படுத்தி நிர்வகிக்கப்படும். ரஸ்ட், C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir மற்றும் Java நிரல்களில் WebAssembly குறியீட்டை உட்பொதிக்க பயன்படும் நூலகமாகவும் Wasmer கிடைக்கிறது.

நேட்டிவ் அசெம்பிளிகளுக்கு அருகாமையில் அப்ளிகேஷன் எக்ஸிகியூஷன் செயல்திறனை அடைய தளம் உங்களை அனுமதிக்கிறது. WebAssembly தொகுதிக்கான நேட்டிவ் ஆப்ஜெக்ட் இன்ஜினைப் பயன்படுத்தி, நீங்கள் இயந்திரக் குறியீட்டை உருவாக்கலாம் (முன்தொகுக்கப்பட்ட .so, .dylib மற்றும் .dll ஆப்ஜெக்ட் கோப்புகளை உருவாக்க “wasmer compile -native”), இதற்கு இயக்க குறைந்தபட்ச இயக்க நேரம் தேவைப்படுகிறது, ஆனால் அனைத்து சாண்ட்பாக்ஸ் தனிமைப்படுத்தலையும் தக்க வைத்துக் கொள்ளும். அம்சங்கள். உள்ளமைக்கப்பட்ட வாஸ்மருடன் முன்தொகுக்கப்பட்ட நிரல்களை வழங்குவது சாத்தியமாகும். துணை நிரல்களையும் நீட்டிப்புகளையும் உருவாக்க ரஸ்ட் ஏபிஐ மற்றும் வாஸ்ம்-சி-ஏபிஐ வழங்கப்படுகின்றன.

Wasmer இன் பதிப்பு எண்ணில் குறிப்பிடத்தக்க மாற்றம் உள் API இல் பொருந்தாத மாற்றங்களை அறிமுகப்படுத்துவதோடு தொடர்புடையது, இது டெவலப்பர்களின் கூற்றுப்படி, 99% இயங்குதள பயனர்களை பாதிக்காது. இணக்கத்தன்மையை உடைக்கும் மாற்றங்களில், வரிசைப்படுத்தப்பட்ட Wasm தொகுதிகளின் வடிவமைப்பிலும் மாற்றம் உள்ளது (Wasmer 1.0 இல் தொடரப்பட்ட தொகுதிகள் Wasmer 2.0 இல் பயன்படுத்தப்படாது). மற்ற மாற்றங்கள்:

  • SIMD (ஒற்றை அறிவுறுத்தல், பல தரவு) வழிமுறைகளுக்கான ஆதரவு, தரவு செயல்பாடுகளை இணையாக அனுமதிக்கிறது. இயந்திர கற்றல், வீடியோ குறியாக்கம் மற்றும் டிகோடிங், பட செயலாக்கம், இயற்பியல் செயல்முறை உருவகப்படுத்துதல் மற்றும் கிராபிக்ஸ் கையாளுதல் ஆகியவை SIMD இன் பயன்பாடு செயல்திறனை கணிசமாக மேம்படுத்தும் பகுதிகள்.
  • குறிப்பு வகைகளுக்கான ஆதரவு, Wasm தொகுதிகள் மற்ற தொகுதிகள் அல்லது அடிப்படை சூழலில் தகவல்களை அணுக அனுமதிக்கிறது.
  • குறிப்பிடத்தக்க செயல்திறன் மேம்படுத்தல்கள் செய்யப்பட்டுள்ளன. மிதக்கும் புள்ளி எண்கள் கொண்ட LLVM இயக்க நேரத்தின் வேகம் தோராயமாக 50% அதிகரிக்கப்பட்டுள்ளது. கர்னலுக்கான அணுகல் தேவைப்படும் சூழ்நிலைகளைக் குறைப்பதன் மூலம் செயல்பாட்டு அழைப்புகள் கணிசமாக துரிதப்படுத்தப்பட்டுள்ளன. கிரேன்லிஃப்ட் குறியீடு ஜெனரேட்டர் செயல்திறன் 40% அதிகரித்துள்ளது. குறைக்கப்பட்ட தரவு சீரழிவு நேரம்.
    Wasmer 2.0, WebAssembly அடிப்படையில் பயன்பாடுகளை உருவாக்குவதற்கான கருவித்தொகுப்பு உள்ளது
    Wasmer 2.0, WebAssembly அடிப்படையில் பயன்பாடுகளை உருவாக்குவதற்கான கருவித்தொகுப்பு உள்ளது
  • சாரத்தை இன்னும் துல்லியமாக பிரதிபலிக்க, இயந்திரங்களின் பெயர்கள் மாற்றப்பட்டுள்ளன: JIT → யுனிவர்சல், நேட்டிவ் → Dylib (டைனமிக் லைப்ரரி), ஆப்ஜெக்ட் கோப்பு → StaticLib (நிலையான நூலகம்).

ஆதாரம்: opennet.ru

கருத்தைச் சேர்