• 2023 में V8 इंजन के प्रभावशाली सुधारों का सारांश
  • नए मध्य-स्तरीय compiler की शुरुआत और ऊपरी-स्तर compiler, runtime, तथा garbage collector में सुधारों के ज़रिए कुल गति में बढ़ोतरी
  • JavaScript और WebAssembly के लिए नई सुविधाएँ जोड़ी गईं, और WebAssembly garbage collection (WasmGC) के ज़रिए web पर garbage-collected programming languages को कुशलतापूर्वक लाया गया
  • सुरक्षा बढ़ाने के लिए sandboxing infrastructure में सुधार और V8 में control-flow integrity (CFI) की शुरुआत

Maglev: नया मध्य-स्तरीय optimization compiler

  • नया optimization compiler Maglev पेश किया गया, जो Sparkplug और TurboFan के बीच काम करता है
  • Maglev, Sparkplug की तुलना में लगभग 20 गुना धीमी गति से code बनाता है, लेकिन TurboFan की तुलना में 10~100 गुना तेज़ी से code बनाता है
  • JetStream में 8.2% और Speedometer में 6% प्रदर्शन सुधार देखा गया
  • Maglev की तेज़ compilation speed और TurboFan पर कम निर्भरता के कारण ऊर्जा बचत का प्रभाव

Turboshaft: ऊपरी-स्तर optimization compiler के लिए नई संरचना

  • ऊपरी-स्तर optimization compiler TurboFan के लिए नई internal architecture Turboshaft पेश की गई
  • नए optimizations जोड़ना और तेज़ compilation संभव
  • Chrome 120 से CPU-agnostic backend के सभी चरणों में Turboshaft का उपयोग, और पहले की तुलना में लगभग दोगुनी compilation speed

तेज़ HTML parser

  • HTML parsing में लगने वाला समय कम करने के लिए Blink में तेज़ HTML parser जोड़ा गया
  • Speedometer score में 3.4% वृद्धि
  • WebKit project ने इस बदलाव को तुरंत शामिल कर लिया

तेज़ DOM allocation

  • DOM पक्ष में निवेश और optimization
  • Oilpan allocator में page pool जोड़कर kernel के साथ round-trip cost कम की गई
  • compressed और uncompressed pointer support, और Blink में high-frequency fields के compression को रोका गया
  • अक्सर allocate होने वाली classes की oilpanization से allocation operations 3 गुना तेज़ हुए और DOM-केंद्रित benchmarks का प्रदर्शन बेहतर हुआ

नई JavaScript सुविधाएँ

  • हाल ही में standardize की गई JavaScript सुविधाएँ जारी की गईं
  • resizable ArrayBuffers, ArrayBuffer transfer, String isWellFormed और toWellFormed, RegExp v flag, source के साथ JSON.parse, Array grouping, Promise.withResolvers, Array.fromAsync आदि जोड़े गए
  • web compatibility issues के कारण Iterator helper features को अस्थायी रूप से वापस लिया गया है और बाद में फिर से जारी किया जाएगा
  • ES6+ JavaScript code के performance सुधार के लिए कुछ अनावश्यक temporary dead zone checks को छोड़ा गया

WebAssembly अपडेट

  • Wasm के लिए नई सुविधाएँ और performance improvements
  • multi-memory, tail calls, और relaxed SIMD support से प्रदर्शन में सुधार
  • memory64 implementation पूरा, और proposal के stage 4 पर पहुँचते ही इसे जारी किया जाएगा
  • exception handling proposal के नवीनतम updates को दर्शाया गया और पुराने format को support किया गया
  • JSPI में निवेश के ज़रिए web पर अधिक बड़े वर्ग के applications को सक्षम किया गया

WebAssembly garbage collection

  • WasmGC जारी होने से V8 के मौजूदा garbage collector द्वारा managed objects और arrays allocate करना संभव हुआ
  • Java, Kotlin, Dart जैसी garbage-collected languages में लिखे applications को Wasm में compile करने पर, JavaScript में compile करने की तुलना में लगभग दोगुनी execution speed मिली

सुरक्षा

  • sandboxing, fuzzing, और CFI इस वर्ष के प्रमुख सुरक्षा विषय रहे
  • sandboxing infrastructure का निर्माण, fuzzing infrastructure में निवेश, और language coverage में सुधार
  • CFI architecture की नींव रखी गई और विभिन्न platforms पर implementation संभव हुआ
  • the_hole के आसपास प्रचलित exploit techniques को कम किया गया और V8CTF के रूप में नया exploit bounty program शुरू किया गया

निष्कर्ष

  • छोटे performance improvement projects के संयुक्त प्रभाव से उल्लेखनीय परिणाम मिले
  • 2023 में V8 के performance improvements दिखाने वाले benchmark scores में JetStream पर 14% और Speedometer पर 34% वृद्धि हुई
  • V8 अब अधिक तेज़ और सुरक्षित है, और तेज़ व तीव्र web की ओर इसकी यात्रा अभी शुरू ही हुई है
  • V8 टीम सभी के लिए तेज़, सुरक्षित और शानदार web browsing experience की कामना करती है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.