ভি৮ (জাভাস্ক্রিপ্ট ইঞ্জিন)
ভি৮ বা ভিএইট (ইংরেজি: V8) হল একটি বিনামূল্যের এবং ওপেন সোর্স জাভাস্ক্রিপ্ট ইঞ্জিন যা Google Chrome এবং Chromium ওয়েব ব্রাউজারগুলির জন্য ক্রোমিয়াম প্রকল্প দ্বারা তৈরি করা হয়েছে।[৫] প্রকল্পটির নির্মাতা লার্স বাক।[৬] ভি৮ ইঞ্জিনের প্রথম সংস্করণটি ক্রোমের প্রথম সংস্করণের মতো একই সময়ে প্রকাশিত হয়েছিল: ২ সেপ্টেম্বর ২০০৮। এটি সার্ভার সাইডেও ব্যবহার করা হয়েছে, উদাহরণস্বরূপ কাউচবেস এবং নোড.জেএস-এ।
মূল উদ্ভাবক | গুগলের লার্স বাক |
---|---|
উন্নয়নকারী | ক্রোমিয়াম প্রকল্প |
প্রাথমিক সংস্করণ | ২ সেপ্টেম্বর ২০০৮ |
স্থিতিশীল সংস্করণ | 11.4[১] / ২৪ মে ২০২৩ |
রিপজিটরি | |
যে ভাষায় লিখিত | সি++[২] |
প্ল্যাটফর্ম | আইএ-৩২, এক্স৮৬-৬৪, আরম, এআর্চ৬৪, এমআইপিএস, এআইপিএস৬৪[৩] পাওয়ার পিসি, আইবিএম এস৩৯০ |
ধরন | জাভাস্ক্রিপ্ট ইঞ্জিন |
লাইসেন্স | বিএসডি[৪] |
ওয়েবসাইট | v8 |
ইতিহাস
ভি৮ অ্যাসেম্বলার স্ট্রংটক অ্যাসেম্বলারের উপর ভিত্তি করে হয়েছে।[৭] ৭ ডিসেম্বর ২০১০ তারিখে গতির উন্নতি সহ ক্র্যাঙ্কশ্যাফ্ট নামে একটি নতুন সংকলন পরিকাঠামো প্রকাশ করা হয়েছিল।[৮] ২০১৫ সালে ক্রোমের ৪১তম সংস্করণে asm.js-এর মতো আগের চ্যালেঞ্জিং ওয়ার্কলোডগুলির সাথে আরও কর্মক্ষমতা উন্নত করার জন্য প্রকল্প টার্বোফ্যান যোগ করা হয়েছিল।[৯] ভি৮-এর বেশিরভাগ উন্নয়ন সান মাইক্রোসিস্টেম্স দ্বারা তৈরি জাভা হটস্পট ভার্চুয়াল মেশিন দ্বারা দৃঢ়ভাবে অনুপ্রাণিত, নতুন এক্সিকিউশন পাইপলাইনগুলি হটস্পটের মতোই।
২০১৬ সালে টার্বোফ্যান এবং ক্র্যাঙ্কশ্যাফ্টের তুলনায় ছোট মেমরির অ্যান্ড্রয়েড ফোনে মেমরির ব্যবহার হ্রাস করার ডিজাইন লক্ষ্যের সাথে ইগনিশন ইন্টারপ্রেটার ভি৮ এ যুক্ত করা হয়েছিল।[১০] ইগনিশন একটি রেজিস্টার ভিত্তিক মেশিন এবং হটস্পট দ্বারা ব্যবহৃত টেমপ্লেটিং দোভাষীর সাথে একই রকম (যদিও হুবহু একই নয়) ডিজাইন শেয়ার করে।
২০১৭ সালে ভি৮ একটি একেবারে নতুন কম্পাইলার পাইপলাইন পাঠিয়েছে, যার মধ্যে রয়েছে ইগনিশন (দোভাষী) এবং টার্বোফ্যান (অপ্টিমাইজিং কম্পাইলার)। ভি৮ সংস্করণ ৫.৯ থেকে শুরু করে, ফুল-কোডেন (প্রাথমিক বেসলাইন কম্পাইলার) এবং ক্র্যাঙ্কশ্যাফ্ট আর ভি৮-এ জাভাস্ক্রিপ্ট এক্সিকিউশনের জন্য ব্যবহার করা হয় না, যেহেতু দলটি বিশ্বাস করেছিল যে তারা আর নতুন জাভাস্ক্রিপ্ট ভাষার বৈশিষ্ট্যগুলির সাথে তাল মেলাতে পারবে না এবং সেই বৈশিষ্ট্যগুলির অপ্টিমাইজেশনের প্রয়োজন।[১১]
২০২১ সালে স্পার্কপ্লাগ কম্পাইলার প্রকাশের সাথে একটি নতুন টায়ার্ড কম্পাইলেশন পাইপলাইন চালু করা হয়েছিল, যা হটস্পট দ্বারা ব্যবহৃত প্রোফাইলিং সিওয়ান কম্পাইলারের সরাসরি সমান্তরালে ভি৮ এর মধ্যে বিদ্যমান টার্বোফ্যান কম্পাইলারকে সম্পূরক করে।
বিন্যাস ও শৈলী
ভি৮ প্রথমে তার নিজস্ব পার্সার দিয়ে একটি বিমূর্ত সিনট্যাক্স ট্রি তৈরি করে।[১২] তারপর অভ্যন্তরীণ ভি৮ বাইটকোড বিন্যাস ব্যবহার করে ইগনিশন এই সিনট্যাক্স ট্রি থেকে বাইটকোড তৈরি করে।[১৩] টার্বোফ্যান এই বাইটকোডটিকে মেশিন কোডে কম্পাইল করে। অন্য কথায়, ভি৮ একমাস্ক্রিপ্ট সরাসরি নেটিভ মেশিন কোডে কম্পাইল করে এটি কার্যকর করার আগে জাস্ট-ইন-টাইম কম্পাইলেশন ব্যবহার করে।[১৪] সংকলিত কোড অতিরিক্তভাবে অপ্টিমাইজ করা হয় (এবং পুনরায় অপ্টিমাইজ করা হয়) রানটাইমে গতিশীলভাবে, কোডের এক্সিকিউশন প্রোফাইলের হিউরিস্টিকসের উপর ভিত্তি করে। ব্যবহৃত অপ্টিমাইজেশান কৌশলগুলির মধ্যে রয়েছে ইনলাইনিং, ব্যয়বহুল রানটাইম বৈশিষ্ট্যের নির্মূল, এবং ইনলাইন ক্যাশিং। গার্বেজ কালেক্টর একটি জেনারেশনাল বৃদ্ধি সংগ্রাহক।[১৫]
ব্যবহার
ভি৮ তাদের ৩২-বিট এবং ৬৪-বিট উভয় সংস্করণেই এক্স-৮৬, আরম বা এমআইপিএস নির্দেশনা সেট আর্কিটেকচারে কম্পাইল করতে পারে; সার্ভারে ব্যবহারের জন্য এটি অতিরিক্তভাবে পাওয়ারপিসি[১৬] এবং আইবিএম এস৩৯০[১৭][১৮] এ পোর্ট করা হয়েছে।[১৯]
ভি৮ একটি ব্রাউজারে ব্যবহার করা যেতে পারে বা স্বাধীন প্রকল্পে একত্রিত করা যেতে পারে। ভি৮ নিম্নলিখিত সফটওয়্যারে ব্যবহার করা হয়:
- ক্রোমিয়াম ভিত্তিক ওয়েব ব্রাউজার - গুগল ক্রোম, ব্রেভ, অপেরা, ভিভাল্ডি এবং মাইক্রোসফট এজ ।
- কাউচবেস ডাটাবেস সার্ভার
- ডিনো রানটাইম এনভায়রনমেন্ট[২০]
- ইলেক্ট্রন ডেস্কটপ অ্যাপ্লিকেশন ফ্রেমওয়ার্ক, অ্যাটম এবং ভিজুয়াল স্টুডিও কোড পাঠ্য সম্পাদক দ্বারা ব্যবহৃত
- মার্কলজিক ডাটাবেস সার্ভার
- নেটিভস্ক্রিপ্ট মোবাইল অ্যাপ্লিকেশন ফ্রেমওয়ার্ক[২১]
- নোড.জেএস রানটাইম এনভায়রনমেন্ট[২২]
- কিউটি কুইক রানটাইম এনভায়রনমেন্ট[২৩]
আরও দেখুন
- ব্লিঙ্ক, ক্রোমিয়াম ব্রাউজার ইঞ্জিন