প্রকল্প সম্পর্কে

Wasmtime হল WebAssembly-এর জন্য একটি স্বতন্ত্র রানটাইম, যা Bytecode Alliance প্রকল্প হিসেবে উন্নত। এটি দ্রুত, নিরাপদ, কনফিগারযোগ্য এবং মানদণ্ড-সম্মত হওয়ার জন্য ডিজাইন করা হয়েছে, এবং এটি কমান্ড-লাইন টুল হিসেবে এবং অন্যান্য অ্যাপ্লিকেশনে এমবেডেড রানটাইম হিসেবে উভয়ভাবেই ব্যবহার করা যেতে পারে। ইনস্টলেশন CLI Linux এবং macOS-এ একটি শেল স্ক্রিপ্ট দিয়ে ইনস্টল করা যায় যা $WASMTIME_HOME-এ (ডিফল্ট $HOME/.wasmtime) ইনস্টল করে, এক্সিকিউটেবলটি $WASMTIME_HOME/bin-এ রাখে। Windows ব্যবহারকারী এবং অন্যরা GitHub Releases পৃষ্ঠা থেকে ইনস্টলার এবং বাইনারি ডাউনলোড করতে পারেন। অতিরিক্ত ইনস্টলেশন বিকল্পগুলি অনলাইন বইতে নথিভুক্ত। উদাহরণ ব্যবহার Rust কম্পাইলার ইনস্টল করা থাকলে, একটি Rust প্রোগ্রামকে wasm32-wasip2 টার্গেট ব্যবহার করে WebAssembly কম্পোনেন্টে কম্পাইল করা যায়, এবং তারপর wasmtime কমান্ড দিয়ে চালানো যায়। README-তে একটি hello-world উদাহরণ দেখানো হয়েছে যা চালালে "Hello, world!" প্রিন্ট করে। মূল বৈশিষ্ট্য - দ্রুত: অপটিমাইজিং Cranelift কোড জেনারেটরের উপর নির্মিত, যা রানটাইমে বা আগে থেকে মেশিন কোড তৈরি করতে পারে। এটি দক্ষ ইনস্ট্যানশিয়েশন, এমবেডার এবং wasm-এর মধ্যে কম-ওভারহেড কল এবং সমবর্তী ইনস্ট্যান্সের স্কেলেবিলিটির জন্য অপটিমাইজড। - নিরাপদ: উন্নয়ন সঠিকতা এবং নিরাপত্তার উপর জোর দেয়, Rust-এর রানটাইম নিরাপত্তা নিশ্চয়তার উপর ভিত্তি করে। বৈশিষ্ট্যগুলি RFC প্রক্রিয়ার মধ্য দিয়ে যায়, Google-এর OSS Fuzz-এর মাধ্যমে ক্রমাগত ফাজিং, একটি রিলিজ নীতি এবং একটি সংজ্ঞায়িত নিরাপত্তা নীতি থাকে। প্রকল্পটি Spectre-এর মতো সমস্যার বিরুদ্ধে প্রতিরক্ষাও সংহত করে এবং Wasmtime ও Cranelift-এর গুরুত্বপূর্ণ অংশগুলির আনুষ্ঠানিক যাচাইয়ের জন্য একাডেমিক গবেষকদের সাথে সহযোগিতা করে। - কনফিগারযোগ্য: যুক্তিসঙ্গত ডিফল্ট প্রদান করা হয়, কিন্তু কনফিগারেশন CPU এবং মেমরি ব্যবহারের উপর সূক্ষ্ম-নিয়ন্ত্রণ দেয়, ছোট পরিবেশ থেকে অনেক সমবর্তী ইনস্ট্যান্স সহ বড় সার্ভার পর্যন্ত। - WASI: WASI মানের মাধ্যমে হোস্ট পরিবেশের সাথে যোগাযোগের জন্য একটি সমৃদ্ধ API সেট সমর্থন করে। - মানদণ্ড-সম্মত: অফিসিয়াল WebAssembly টেস্ট স্যুট পাস করে, wasm-এর অফিসিয়াল C API বাস্তবায়ন করে, এবং ভবিষ্যতের WebAssembly প্রস্তাবগুলি বাস্তবায়ন করে। বিকাশকারীরা WebAssembly মানদণ্ড প্রক্রিয়ার সাথে জড়িত। ভাষা সমর্থন Wasmtime একাধিক ভাষা থেকে এমবেড করা যায়। Bytecode Alliance-এর সমর্থিত ভাষাগুলির মধ্যে রয়েছে Rust (wasmtime ক্রেট), C (wasm.h, wasi.h এবং wasmtime.h হেডার, CMake সহ), C++ (wasmtime.hh হেডার), Python (wasmtime PyPI প্যাকেজ), .NET (Wasmtime NuGet প্যাকেজ), Go (wasmtime-go রিপোজিটরি) এবং Ruby (wasmtime জেম)। কমিউনিটি-সমর্থিত ভাষাগুলির মধ্যে রয়েছে Elixir (wasmex hex প্যাকেজ) এবং Perl (Wasm Perl প্যাকেজের Wasm::Wasmtime মডিউল)। নথিপত্র Wasmtime গাইড হল Wasmtime কী করতে পারে তা শেখার, প্রশ্নের উত্তর দেওয়ার এবং প্রকল্পে অবদান রাখার জন্য প্রস্তাবিত শুরু বিন্দু।