വി8 (ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിൻ)

(Chrome V8 എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)

സി++ ഉപയോഗിച്ച് നിർമ്മിച്ചിരിക്കുന്ന ഇത് ഗൂഗിളിന്റെ ഓപ്പൺസോഴ്സ് വെബ് ബ്രൗസറായ ഗൂഗിൾ ക്രോമിനോടൊപ്പമുള്ള ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനാണ്. വെർച്ച്വൽ മെഷീൻ ഗണത്തിൽ പെടുത്താവുന്ന ഒരു ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിനാണ് വി8[4]. ഇക്കാരണത്താൽ വി8-നെ ജാവാസ്ക്രിപ്റ്റ് വെർച്ച്വൽ മെഷീൻ എന്നു വിളിക്കുന്നതിൽ തെറ്റില്ല. അത് ക്രോമിയം പ്രോജക്റ്റിൻ്റെ ഭാഗമാണ്, കൂടാതെ ബ്രൗസറിലല്ലാതെ പ്രത്യേകം ഉപയോഗിക്കുന്നു, പ്രത്യേകിച്ച് നോഡ്.ജെഎസ് റൺടൈം സിസ്റ്റത്തിൽ[1].

വി8
വികസിപ്പിച്ചത്Google[1]
ആദ്യപതിപ്പ്2 സെപ്റ്റംബർ 2008; 16 വർഷങ്ങൾക്ക് മുമ്പ് (2008-09-02)
Stable release
11.4[2] Edit this on Wikidata
റെപോസിറ്ററി വിക്കിഡാറ്റയിൽ തിരുത്തുക
ഭാഷC++[1]
പ്ലാറ്റ്‌ഫോംIA-32, x86-64, 32-bit ARM, AArch64, 32-bit MIPS, MIPS64, PowerPC, IBM ESA/390, z/Architecture
തരംJavaScript and WebAssembly engine
അനുമതിപത്രംBSD[3]
വെബ്‌സൈറ്റ്v8.dev

ബൈറ്റ് കോഡ് പോലെയുള്ള ഏതെങ്കിലും ഇടനിലഭാഷയിലേക്ക് കമ്പൈൽ ചെയ്തിട്ട്, ഈ ഇടനിലഭാഷയെ ഇന്റർപ്രെറ്റ് ചെയ്യുന്ന പ്രക്രിയക്ക് പകരം വി8 ജാവാസ്ക്രിപ്റ്റിനെ മെഷീൻ കോഡിലേക്ക് നേരിട്ട് കമ്പൈൽ ചെയ്യുന്നതു കൊണ്ട് പ്രവർത്തനവേഗവും ക്ഷമതയും കൂടുതലായിരിക്കും. പ്രവർത്തനക്ഷമത കൂട്ടാനായി ഇൻലൈൻ ക്യാഷിങ്ങ് പോലെയുള്ള സങ്കേതങ്ങളും വി8 ഉപയോഗിക്കുന്നുണ്ട്. ഇക്കാരണങ്ങളാൽ വി8 ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന ജാവാസ്ക്രിപ്റ്റ് ആപ്ലിക്കേഷനുകൾക്ക് കമ്പൈൽ ചെയ്ത ബൈനറി കോഡിന്റെ അതേ വേഗതയിൽ പ്രവർത്തിക്കുവാൻ കഴിയുന്നു.ംവി8 എഞ്ചിന്റെ ആദ്യ പതിപ്പ് ക്രോമിന്റെ ആദ്യ പതിപ്പിന്റെ അതേ സമയത്താണ് പുറത്തിറങ്ങിയത്: 2 സെപ്റ്റംബർ 2008. ഇത് സെർവർ ഭാഗത്തും ഉപയോഗിച്ചിട്ടുണ്ട്, ഉദാഹരണത്തിന് കൗച്ച്ബേസ്(Couchbase), നോഡ്.ജെഎസ് എന്നിവയിൽ.

ചരിത്രം

തിരുത്തുക

വി8 അസംബ്ലർ സ്ട്രോങ്ടോക്(Strongtalk) അസംബ്ലറിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.[5]കരുത്തുറ്റ കാർ എഞ്ചിൻ്റെ പേരിലുള്ള വി8, വേഗതയും കാര്യക്ഷമതയും കണക്കിലെടുത്താണ് വികസിപ്പിച്ചെടുത്തത്. പ്രമുഖ സോഫ്‌റ്റ്‌വെയർ എഞ്ചിനീയറായ ലാർസ് ബാക്കാണ് ഈ ജാവാസ്ക്രിപ്റ്റ് എഞ്ചിൻ്റെ പ്രധാന ഡെവലപ്പർ. ഗൂഗിൾ ക്രോം, നോഡ്.ജെഎസ് പോലുള്ള പ്ലാറ്റ്‌ഫോമുകൾക്കായി വി8-നെ ഒരു മൂലക്കല്ലാക്കി മാറ്റാൻ അദ്ദേഹത്തിൻ്റെ പ്രവർത്തനം സഹായിച്ചു[6]. കുറച്ച് വർഷങ്ങളായി, ജാവാസ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിൽ ക്രോം മറ്റ് ബ്രൗസറുകളേക്കാൾ മികച്ച വേഗതയുണ്ട്[7][8][9].

2010 ഡിസംബർ 7-ന്, വേഗത മെച്ചപ്പെടുത്തിയെടുത്ത് ക്രാങ്ക്ഷാഫ്റ്റ് എന്ന പേരിൽ ഒരു പുതിയ കംപൈലിംഗ് ഇൻഫ്രാസ്ട്രക്ചർ പുറത്തിറങ്ങി.[10]2015-ൽ ക്രോമിന്റെ 41-ാം പതിപ്പിൽ, asm.js പോലെയുള്ളയോടൊപ്പം കൂടുതൽ പ്രകടന മെച്ചപ്പെടുത്തലുകൾ നൽകുന്നതിനായി പ്രോജക്റ്റ് ടർബോഫാൻ(TurboFan) കൂടി കൊണ്ടുവന്നു.[11]സൺ മൈക്രോസിസ്റ്റംസ് വികസിപ്പിച്ചെടുത്ത ജാവ ഹോട്ട്‌സ്‌പോട്ട് വെർച്വൽ മെഷീനിൽ നിന്നാണ് വി8-ന്റെ വികസനത്തിന്റെ ഭൂരിഭാഗവും പ്രചോദം ഉൾക്കൊണ്ടിട്ടുള്ളത്, പുതിയ എക്‌സിക്യൂഷൻ പൈപ്പ്‌ലൈനുകൾ ഹോട്ട്‌സ്‌പോട്ടിന്റേതുമായി വളരെ സാമ്യമുള്ളതാണ്.

പുതിയ വെബ് അസംബ്ലി ഭാഷയ്ക്കുള്ള പിന്തുണ 2015-ൽ ആരംഭിച്ചു[12].

2016-ൽ, വി8 എഞ്ചിൻ മെമ്മറി ഉപയോഗം കുറയ്ക്കുന്നതിനായി ഇഗ്നിഷൻ ഇൻ്റർപ്രെറ്റർ അവതരിപ്പിച്ചു, പ്രത്യേകിച്ച് മെമ്മറി കുറവുള്ള ആൻഡ്രോയിഡ് ഉപകരണങ്ങളിൽ. ലൈറ്റ് വെയിറ്റ് ബൈറ്റ്കോഡ് എക്സിക്യൂട്ട് ചെയ്തുകൊണ്ട് ഇത് പ്രവർത്തിക്കുന്നു, പതിവായി ഉപയോഗിക്കുന്ന കോഡ് ഒപ്റ്റിമൈസ് ചെയ്യുന്ന ടർബോഫാൻ കംപൈലർ ഉപയോഗിച്ചാണ് ഇത് പ്രവർത്തിക്കുന്നത്[13]. ഹോട്ട്‌സ്‌പോട്ടിൽ ഉപയോഗിച്ചിരിക്കുന്ന ടെംപ്ലേറ്റിംഗ് ഇൻ്റർപ്രെട്ടർ ഡിസൈനിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ട്, സമാനമല്ലെങ്കിലും, രജിസ്റ്റർ അധിഷ്‌ഠിത യന്ത്രമാണ് ഇഗ്നിഷൻ.

വി8 പതിപ്പ് 5.9 മുതൽ, ഫുൾ-കോഡ്ജെൻ (Full-Codegen), ക്രാങ്ക്ഷാഫ്റ്റ്(Crankshaft) എന്നിവ മാറ്റിസ്ഥാപിച്ചു, കാരണം അവയ്ക്ക് ആധുനിക ജാവാസ്ക്രിപ്റ്റ് സവിശേഷതകളും ഒപ്റ്റിമൈസേഷൻ ആവശ്യകതകളും നിലനിർത്താൻ കഴിഞ്ഞില്ല. പകരം ഇഗ്നിഷൻ, ടർബോഫാൻ എന്നിവയുള്ള പുതിയ പൈപ്പ്‌ലൈനുകൾ മികച്ച പ്രകടനവും വഴക്കവും വാഗ്ദാനം ചെയ്തു[14].

2021-ൽ, ഹോട്ട്‌സ്‌പോട്ടിൻ്റെ സി1(C1) കമ്പൈലറിന് സമാനമായ രീതിയിൽ പ്രവർത്തിക്കുന്ന സ്പാർക്ക്പ്ലഗ്(SparkPlug) കംപൈലർ വി8-ൽ ചേർത്തിട്ടുണ്ട്. നൂതന ഒപ്റ്റിമൈസേഷനുകൾ നടത്തുന്ന ടർബോഫാൻ കംപൈലറിനൊപ്പം പ്രവർത്തിക്കുകയും, മെഷീൻ കോഡിലേക്ക് കോഡ് വേഗത്തിൽ പരിവർത്തനം ചെയ്യുന്നതിലൂടെയും ജാവാസ്ക്രിപ്റ്റ് വേഗത്തിലാക്കുന്നു.

2023-ൽ, വി8, മാഗ്ലെവ് കമ്പൈലർ(Maglev compiler) അവതരിപ്പിച്ചു, അത് സ്പാർക്ക്പ്ലഗിനേക്കാൾ വേഗത കുറവാണ്, എന്നാൽ ടർബോഫാനിനേക്കാൾ വളരെ വേഗതയുള്ളതാണ്. വെബ് പേജുകൾ സുഗമമാക്കുന്നതിന് മാഗ്ലെവ് ടർബോഫാനിനൊപ്പം പ്രവർത്തിക്കുന്നു. ടർബോഫാൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനായി വേണ്ടത്ര പ്രവർത്തിക്കാത്ത കോഡിനെ ഇത് വേഗത്തിലാക്കുന്നു, ബട്ടണുകളും ഫോമുകളും മറ്റ് ഇടപെടലുകളും വേഗത്തിൽ കൈകാര്യം ചെയ്യാൻ വെബ്‌സൈറ്റുകളെ സഹായിക്കുന്നു[15].

പുറമെനിന്നുള്ള കണ്ണികൾ

തിരുത്തുക
  1. 1.0 1.1 1.2 "Documentation · V8". Google. Retrieved 3 March 2024.
  2. "Chrome Platform Status". Retrieved 29 ജൂൺ 2023.
  3. "v8/LICENSE.v8 at master". Github.
  4. Lenssen, Philipp (1 September 2008). "Google on Google Chrome - comic book". Google Blogoscoped. Retrieved 17 August 2010.
  5. "V8 JavaScript Engine: License". Google Code. Archived from the original on July 22, 2010. Retrieved 17 August 2010.
  6. "V8: an open source JavaScript engine". YouTube. Google. Retrieved 15 March 2024.
  7. "Big browser comparison test: Internet Explorer vs. Firefox, Opera, Safari and Chrome". PC Games Hardware. Computec Media AG. 3 July 2009. Archived from the original on May 2, 2012. Retrieved June 28, 2010.
  8. Purdy, Kevin (June 11, 2009). "Lifehacker Speed Tests: Safari 4, Chrome 2". Lifehacker. Archived from the original on April 14, 2021. Retrieved May 8, 2021.
  9. "Mozilla asks, 'Are we fast yet?'". Wired. Archived from the original on June 22, 2018. Retrieved January 18, 2019.
  10. "A New Crankshaft for V8". Chromium Blog. 7 December 2010. Retrieved 22 April 2011.
  11. "Revving up JavaScript performance with TurboFan". 7 July 2015. Retrieved 5 March 2016.
  12. "Experimental support for WebAssembly in V8". v8.dev. Retrieved 12 March 2024.
  13. "BlinkOn 6 Day 1 Talk 2: Ignition - an interpreter for V8". YouTube. 26 June 2016. Archived from the original on 2021-12-21. Retrieved 2 September 2016.
  14. "Launching Ignition and TurboFan". 16 May 2017. Retrieved 13 July 2017.
  15. "Maglev - V8's Fastest Optimizing JIT". 5 December 2023. Retrieved 26 January 2024.