- 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 की कामना करती है
अभी कोई टिप्पणी नहीं है.