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

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে
ভি৮
মূল উদ্ভাবকগুগলের লার্স বাক
উন্নয়নকারীক্রোমিয়াম প্রকল্প
প্রাথমিক সংস্করণ২ সেপ্টেম্বর ২০০৮; ১৫ বছর আগে (2008-09-02)
স্থিতিশীল সংস্করণ
11.4[১] উইকিউপাত্তে এটি সম্পাদনা করুন / ২৪ মে ২০২৩; ১০ মাস আগে (24 May 2023)
রিপজিটরি উইকিউপাত্তে এটি সম্পাদনা করুন
যে ভাষায় লিখিতসি++[২]
প্ল্যাটফর্মআইএ-৩২, এক্স৮৬-৬৪, আরম, এআর্চ৬৪, এমআইপিএস, এআইপিএস৬৪[৩] পাওয়ার পিসি, আইবিএম এস৩৯০
ধরনজাভাস্ক্রিপ্ট ইঞ্জিন
লাইসেন্সবিএসডি[৪]
ওয়েবসাইটv8.dev উইকিউপাত্তে এটি সম্পাদনা করুন

ভি৮ বা ভিএইট (ইংরেজি: V8) হল একটি বিনামূল্যের এবং ওপেন সোর্স জাভাস্ক্রিপ্ট ইঞ্জিন যা Google Chrome এবং Chromium ওয়েব ব্রাউজারগুলির জন্য ক্রোমিয়াম প্রকল্প দ্বারা তৈরি করা হয়েছে।[৫] প্রকল্পটির নির্মাতা লার্স বাক।[৬] ভি৮ ইঞ্জিনের প্রথম সংস্করণটি ক্রোমের প্রথম সংস্করণের মতো একই সময়ে প্রকাশিত হয়েছিল: ২ সেপ্টেম্বর ২০০৮। এটি সার্ভার সাইডেও ব্যবহার করা হয়েছে, উদাহরণস্বরূপ কাউচবেস এবং নোড.জেএস-এ।

ইতিহাস[সম্পাদনা]

ভি৮ অ্যাসেম্বলার স্ট্রংটক অ্যাসেম্বলারের উপর ভিত্তি করে হয়েছে।[৭] ৭ ডিসেম্বর ২০১০ তারিখে গতির উন্নতি সহ ক্র্যাঙ্কশ্যাফ্ট নামে একটি নতুন সংকলন পরিকাঠামো প্রকাশ করা হয়েছিল।[৮] ২০১৫ সালে ক্রোমের ৪১তম সংস্করণে asm.js-এর মতো আগের চ্যালেঞ্জিং ওয়ার্কলোডগুলির সাথে আরও কর্মক্ষমতা উন্নত করার জন্য প্রকল্প টার্বোফ্যান যোগ করা হয়েছিল।[৯] ভি৮-এর বেশিরভাগ উন্নয়ন সান মাইক্রোসিস্টেম্‌স দ্বারা তৈরি জাভা হটস্পট ভার্চুয়াল মেশিন দ্বারা দৃঢ়ভাবে অনুপ্রাণিত, নতুন এক্সিকিউশন পাইপলাইনগুলি হটস্পটের মতোই।

২০১৬ সালে টার্বোফ্যান এবং ক্র্যাঙ্কশ্যাফ্টের তুলনায় ছোট মেমরির অ্যান্ড্রয়েড ফোনে মেমরির ব্যবহার হ্রাস করার ডিজাইন লক্ষ্যের সাথে ইগনিশন ইন্টারপ্রেটার ভি৮ এ যুক্ত করা হয়েছিল।[১০] ইগনিশন একটি রেজিস্টার ভিত্তিক মেশিন এবং হটস্পট দ্বারা ব্যবহৃত টেমপ্লেটিং দোভাষীর সাথে একই রকম (যদিও হুবহু একই নয়) ডিজাইন শেয়ার করে।

২০১৭ সালে ভি৮ একটি একেবারে নতুন কম্পাইলার পাইপলাইন পাঠিয়েছে, যার মধ্যে রয়েছে ইগনিশন (দোভাষী) এবং টার্বোফ্যান (অপ্টিমাইজিং কম্পাইলার)। ভি৮ সংস্করণ ৫.৯ থেকে শুরু করে, ফুল-কোডেন (প্রাথমিক বেসলাইন কম্পাইলার) এবং ক্র্যাঙ্কশ্যাফ্ট আর ভি৮-এ জাভাস্ক্রিপ্ট এক্সিকিউশনের জন্য ব্যবহার করা হয় না, যেহেতু দলটি বিশ্বাস করেছিল যে তারা আর নতুন জাভাস্ক্রিপ্ট ভাষার বৈশিষ্ট্যগুলির সাথে তাল মেলাতে পারবে না এবং সেই বৈশিষ্ট্যগুলির অপ্টিমাইজেশনের প্রয়োজন।[১১]

২০২১ সালে স্পার্কপ্লাগ কম্পাইলার প্রকাশের সাথে একটি নতুন টায়ার্ড কম্পাইলেশন পাইপলাইন চালু করা হয়েছিল, যা হটস্পট দ্বারা ব্যবহৃত প্রোফাইলিং সিওয়ান কম্পাইলারের সরাসরি সমান্তরালে ভি৮ এর মধ্যে বিদ্যমান টার্বোফ্যান কম্পাইলারকে সম্পূরক করে।

বিন্যাস ও শৈলী[সম্পাদনা]

ভি৮ প্রথমে তার নিজস্ব পার্সার দিয়ে একটি বিমূর্ত সিনট্যাক্স ট্রি তৈরি করে।[১২] তারপর অভ্যন্তরীণ ভি৮ বাইটকোড বিন্যাস ব্যবহার করে ইগনিশন এই সিনট্যাক্স ট্রি থেকে বাইটকোড তৈরি করে।[১৩] টার্বোফ্যান এই বাইটকোডটিকে মেশিন কোডে কম্পাইল করে। অন্য কথায়, ভি৮ একমাস্ক্রিপ্ট সরাসরি নেটিভ মেশিন কোডে কম্পাইল করে এটি কার্যকর করার আগে জাস্ট-ইন-টাইম কম্পাইলেশন ব্যবহার করে।[১৪] সংকলিত কোড অতিরিক্তভাবে অপ্টিমাইজ করা হয় (এবং পুনরায় অপ্টিমাইজ করা হয়) রানটাইমে গতিশীলভাবে, কোডের এক্সিকিউশন প্রোফাইলের হিউরিস্টিকসের উপর ভিত্তি করে। ব্যবহৃত অপ্টিমাইজেশান কৌশলগুলির মধ্যে রয়েছে ইনলাইনিং, ব্যয়বহুল রানটাইম বৈশিষ্ট্যের নির্মূল, এবং ইনলাইন ক্যাশিং। গার্বেজ কালেক্টর একটি জেনারেশনাল বৃদ্ধি সংগ্রাহক।[১৫]

ব্যবহার[সম্পাদনা]

ভি৮ তাদের ৩২-বিট এবং ৬৪-বিট উভয় সংস্করণেই এক্স-৮৬, আরম বা এমআইপিএস নির্দেশনা সেট আর্কিটেকচারে কম্পাইল করতে পারে; সার্ভারে ব্যবহারের জন্য এটি অতিরিক্তভাবে পাওয়ারপিসি[১৬] এবং আইবিএম এস৩৯০[১৭][১৮] এ পোর্ট করা হয়েছে।[১৯]

ভি৮ একটি ব্রাউজারে ব্যবহার করা যেতে পারে বা স্বাধীন প্রকল্পে একত্রিত করা যেতে পারে। ভি৮ নিম্নলিখিত সফটওয়্যারে ব্যবহার করা হয়:

আরও দেখুন[সম্পাদনা]

তথ্যসূত্র[সম্পাদনা]

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

বহিঃসংযোগ[সম্পাদনা]