ভি৮ (জাভাস্ক্রিপ্ট ইঞ্জিন)

ভি৮ বা ভিএইট (ইংরেজি: V8) হল একটি বিনামূল্যের এবং ওপেন সোর্স জাভাস্ক্রিপ্ট ইঞ্জিন যা Google Chrome এবং Chromium ওয়েব ব্রাউজারগুলির জন্য ক্রোমিয়াম প্রকল্প দ্বারা তৈরি করা হয়েছে। প্রকল্পটির নির্মাতা লার্স বাক। ভি৮ ইঞ্জিনের প্রথম সংস্করণটি ক্রোমের প্রথম সংস্করণের মতো একই সময়ে প্রকাশিত হয়েছিল: ২ সেপ্টেম্বর ২০০৮। এটি সার্ভার সাইডেও ব্যবহার করা হয়েছে, উদাহরণস্বরূপ কাউচবেস এবং নোড.জেএস-এ। ভি৮ অ্যাসেম্বলার স্ট্রংটক অ্যাসেম্বলারের উপর ভিত্তি করে হয়েছে। ৭ ডিসেম্বর ২০১০ তারিখে গতির উন্নতি সহ ক্র্যাঙ্কশ্যাফ্ট নামে একটি নতুন সংকলন পরিকাঠামো প্রকাশ করা হয়েছিল। ২০১৫ সালে ক্রোমের ৪১তম সংস্করণে asm.js-এর মতো আগের চ্যালেঞ্জিং ওয়ার্কলোডগুলির সাথে আরও কর্মক্ষমতা উন্নত করার জন্য প্রকল্প টার্বোফ্যান যোগ করা হয়েছিল। ভি৮-এর বেশিরভাগ উন্নয়ন সান মাইক্রোসিস্টেম্‌স দ্বারা তৈরি জাভা হটস্পট ভার্চুয়াল মেশিন দ্বারা দৃঢ়ভাবে অনুপ্রাণিত, নতুন এক্সিকিউশন পাইপলাইনগুলি হটস্পটের মতোই। ২০১৬ সালে টার্বোফ্যান এবং ক্র্যাঙ্কশ্যাফ্টের তুলনায় ছোট মেমরির অ্যান্ড্রয়েড ফোনে মেমরির ব্যবহার হ্রাস করার ডিজাইন লক্ষ্যের সাথে ইগনিশন ইন্টারপ্রেটার ভি৮ এ যুক্ত করা হয়েছিল। ইগনিশন একটি রেজিস্টার ভিত্তিক মেশিন এবং হটস্পট দ্বারা ব্যবহৃত টেমপ্লেটিং দোভাষীর সাথে একই রকম (যদিও হুবহু একই নয়) ডিজাইন শেয়ার করে। ২০১৭ সালে ভি৮ একটি একেবারে নতুন কম্পাইলার পাইপলাইন পাঠিয়েছে, যার মধ্যে রয়েছে ইগনিশন (দোভাষী) এবং টার্বোফ্যান (অপ্টিমাইজিং কম্পাইলার)। ভি৮ সংস্করণ ৫.৯ থেকে শুরু করে, ফুল-কোডেন (প্রাথমিক বেসলাইন কম্পাইলার) এবং ক্র্যাঙ্কশ্যাফ্ট আর ভি৮-এ জাভাস্ক্রিপ্ট এক্সিকিউশনের জন্য ব্যবহার করা হয় না, যেহেতু দলটি বিশ্বাস করেছিল যে তারা আর নতুন জাভাস্ক্রিপ্ট ভাষার বৈশিষ্ট্যগুলির সাথে তাল মেলাতে পারবে না এবং সেই বৈশিষ্ট্যগুলির অপ্টিমাইজেশনের প্রয়োজন। ২০২১ সালে স্পার্কপ্লাগ কম্পাইলার প্রকাশের সাথে একটি নতুন টায়ার্ড কম্পাইলেশন পাইপলাইন চালু করা হয়েছিল, যা হটস্পট দ্বারা ব্যবহৃত প্রোফাইলিং সিওয়ান কম্পাইলারের সরাসরি সমান্তরালে ভি৮ এর মধ্যে বিদ্যমান টার্বোফ্যান কম্পাইলারকে সম্পূরক করে। ভি৮ প্রথমে তার নিজস্ব পার্সার দিয়ে একটি বিমূর্ত সিনট্যাক্স ট্রি তৈরি করে। তারপর অভ্যন্তরীণ ভি৮ বাইটকোড বিন্যাস ব্যবহার করে ইগনিশন এই সিনট্যাক্স ট্রি থেকে বাইটকোড তৈরি করে। টার্বোফ্যান এই বাইটকোডটিকে মেশিন কোডে কম্পাইল করে। অন্য কথায়, ভি৮ একমাস্ক্রিপ্ট সরাসরি নেটিভ মেশিন কোডে কম্পাইল করে এটি কার্যকর করার আগে জাস্ট-ইন-টাইম কম্পাইলেশন ব্যবহার করে। সংকলিত কোড অতিরিক্তভাবে অপ্টিমাইজ করা হয় (এবং পুনরায় অপ্টিমাইজ করা হয়) রানটাইমে গতিশীলভাবে, কোডের এক্সিকিউশন প্রোফাইলের হিউরিস্টিকসের উপর ভিত্তি করে। ব্যবহৃত অপ্টিমাইজেশান কৌশলগুলির মধ্যে রয়েছে ইনলাইনিং, ব্যয়বহুল রানটাইম বৈশিষ্ট্যের নির্মূল, এবং ইনলাইন ক্যাশিং। গার্বেজ কালেক্টর একটি জেনারেশনাল বৃদ্ধি সংগ্রাহক। ভি৮ তাদের ৩২-বিট এবং ৬৪-বিট উভয় সংস্করণেই এক্স-৮৬, আরম বা এমআইপিএস নির্দেশনা সেট আর্কিটেকচারে কম্পাইল করতে পারে; সার্ভারে ব্যবহারের জন্য এটি অতিরিক্তভাবে পাওয়ারপিসি এবং আইবিএম এস৩৯০ এ পোর্ট করা হয়েছে। ভি৮ একটি ব্রাউজারে ব্যবহার করা যেতে পারে বা স্বাধীন প্রকল্পে একত্রিত করা যেতে পারে। ভি৮ নিম্নলিখিত সফটওয়্যারে ব্যবহার করা হয়: ক্রোমিয়াম ভিত্তিক ওয়েব ব্রাউজার - গুগল ক্রোম, ব্রেভ, অপেরা, ভিভাল্ডি এবং মাইক্রোসফট এজ । কাউচবেস ডাটাবেস সার্ভার ডিনো রানটাইম এনভায়রনমেন্ট ইলেক্ট্রন ডেস্কটপ অ্যাপ্লিকেশন ফ্রেমওয়ার্ক, অ্যাটম এবং ভিজুয়াল স্টুডিও কোড পাঠ্য সম্পাদক দ্বারা ব্যবহৃত মার্কলজিক ডাটাবেস সার্ভার নেটিভস্ক্রিপ্ট মোবাইল অ্যাপ্লিকেশন ফ্রেমওয়ার্ক নোড.জেএস রানটাইম এনভায়রনমেন্ট কিউটি কুইক রানটাইম এনভায়রনমেন্ট ব্লিঙ্ক, ক্রোমিয়াম ব্রাউজার ইঞ্জিন "Chrome Platform Status"। সংগ্রহের তারিখ ২৯ জুন ২০২৩। উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) "V8 JavaScript Engine"। Google LLC। উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) "Introduction - Chrome V8"। Google Inc.। উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) "v8/LICENSE.v8 at master"। Github। উদ্ধৃতি টেমপ্লেট ইংরেজি প্যারামিটার ব্যবহার করেছে (link) Lenssen, Philipp (১ সেপ্টেম্বর ২০০৮)। "Google on Google Chrome - comic book"। Google Blogoscoped। সংগ্রহের তারিখ ১৭ আগস্ট ২০১০।  Minto, Rob (২৭ মার্চ ২০০৯)। "The genius behind Google's web browser"। Financial Times। ১ ডিসেম্বর ২০১১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১ জুন ২০২১। (সদস্যতা প্রয়োজনীয়) "V8 JavaScript Engine: License"। Google Code। জুলাই ২২, ২০১০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১৭ আগস্ট ২০১০।  "A New Crankshaft for V8"। Chromium Blog। ৭ ডিসেম্বর ২০১০। সংগ্রহের তারিখ ২২ এপ্রিল ২০১১।  "Revving up JavaScript performance with TurboFan"। ৭ জুলাই ২০১৫। সংগ্রহের তারিখ ৫ মার্চ ২০১৬।  "BlinkOn 6 Day 1 Talk 2: Ignition - an interpreter for V8"। ২৬ জুন ২০১৬। Archived from the original on ৩১ মার্চ ২০১৭। সংগ্রহের তারিখ ২ সেপ্টেম্বর ২০১৬। উদ্ধৃতি শৈলী রক্ষণাবেক্ষণ: বট: আসল-ইউআরএলের অবস্থা অজানা (link) "Launching Ignition and TurboFan"। ১৬ মে ২০১৭। সংগ্রহের তারিখ ১৩ জুলাই ২০১৭। [স্থায়ীভাবে অকার্যকর সংযোগ] Verwaest, Toon (২৫ মার্চ ২০১৯)। "Blazingly fast parsing, part 1: optimizing the scanner · V8"। v8.dev। ২১ এপ্রিল ২০২১ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ১ জুন ২০২১।  Hinkelmann, Franziska (২০১৭-১২-১৯)। "Understanding V8's Bytecode"। Medium (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০১৯-১০-১৭।  "Firing up the Ignition interpreter · V8"। v8.dev। সংগ্রহের তারিখ ২০২০-০৯-৩০।  "A game changer for interactive performance"। blog.chromium.org। ২০১১-১১-২১। সংগ্রহের তারিখ ২০২২-০২-০৬।  "GitHub - ibmruntimes/v8ppc: Port of Google V8 javascript engine to PowerPC®."। এপ্রিল ২১, ২০১৯ – GitHub-এর মাধ্যমে।  "Port of Google V8 JavaScript engine to z/OS. The Linux on Z port is maintained in the community: ibmruntimes/v8z"। এপ্রিল ২, ২০১৯ – GitHub-এর মাধ্যমে।  "PPC support for Google V8 goes mainstream"। জুন ৩০, ২০১৫।  "V8 Changelog v3.8.2"। ২২ অক্টোবর ২০১২ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৩ অক্টোবর ২০১২।  "A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio: denoland/deno"। জুলাই ৮, ২০১৯ – GitHub-এর মাধ্যমে।  "Overview - NativeScript Docs"। docs.nativescript.org। ২৮ জুলাই ২০২০ তারিখে মূল থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৩ অক্টোবর ২০২২।  Jolie O'Dell (মার্চ ১০, ২০১১)। "Why Everyone Is Talking About Node"। Mashable।  "Difference between qt qml and qt quick"। Stack Overflow। সংগ্রহের তারিখ ২০২০-০৯-২৬।  দাপ্তরিক ওয়েবসাইট