SunSpider में Firefox ने आखिरकार Google Chrome को पीछे छोड़ा
(phoronix.com)- Firefox पुराने SunSpider JavaScript benchmark में Chrome से तेज़ हो गया है, लेकिन इस टेस्ट को अब काफी हद तक JetStream ने रिप्लेस कर दिया है
- हाल की Firefox Nightly News के अनुसार Firefox अब SunSpider में Chrome से आगे दिख रहा है, और सार्वजनिक आँकड़े भी Firefox की बढ़त दिखाते हैं
- benchmark का स्रोत AreWeFastYet.com है, और तुलना लगभग 10 साल पुराने JavaScript performance test पर आधारित है
- अधिक आधुनिक और भारी JetStream 2.0 में Google Chrome अब भी Firefox से आसानी से आगे है
- पिछले लगभग एक महीने में Firefox ने SunSpider execution speed के अलावा HTTP/2 upload speed जैसी कई और सुधार भी किए हैं
पुराने SunSpider में Firefox की बढ़त
- Mozilla डेवलपर्स Firefox के Google Chrome से SunSpider JavaScript benchmark में तेज़ नतीजे देने को सकारात्मक संकेत मान रहे हैं
- SunSpider लगभग 10 साल पुराना JavaScript benchmark है, और अब इसकी जगह JetStream benchmark ने ले ली है
- हाल की Firefox Nightly News में कहा गया, “We’re now apparently beating Chrome on the SunSpider JavaScript benchmark!”
- सार्वजनिक आँकड़े दिखाते हैं कि Firefox इस पुराने JavaScript benchmark में Chrome से साफ़ आगे निकल रहा है
- benchmark data AreWeFastYet.com से लिया गया है
आधुनिक benchmark में Chrome की बढ़त बनी हुई है
- अधिक नया और ज्यादा demanding JetStream 2.0 benchmark में Google Chrome अब भी Firefox से आसानी से आगे है
- Firefox ने पिछले लगभग एक महीने में SunSpider JavaScript benchmark की execution speed को काफी बढ़ाया है
- इसी अवधि में HTTP/2 upload speed improvements सहित कई और काम भी किए गए हैं
- नवीनतम Firefox Nightly build में हुए बदलाव Firefox Nightly News में देखे जा सकते हैं
1 टिप्पणियां
Hacker News की राय
एक पूर्व V8 इंजीनियर के नजरिए से देखें तो SunSpider एक बेहद खराब benchmark है, और यह यकीन करना मुश्किल है कि इसे अब भी track किया जा रहा है
पिछले लगभग 15 वर्षों तक इसने JavaScript performance engineering की दिशा गलत मोड़ी, और engines को ऐसी अजीब optimization tricks बनाने पर मजबूर किया जिनसे असली sites को कोई मदद नहीं मिलती
V8 बहुत पहले ही ज्यादातर microbenchmarks से आगे बढ़ चुका है: https://benediktmeurer.de/2016/12/16/the-truth-about-traditi...
इसका मतलब यह नहीं है कि Firefox की performance improvements महत्वपूर्ण या स्वागतयोग्य नहीं हैं। बस इतना है कि SunSpider उन benchmarks में सबसे खराब है जिन्हें देखा जा सकता है
इसकी लागत कम है, और कभी-कभी यह अनचाहे performance regressions पकड़ भी लेता है
SpiderMonkey team भी microbenchmarks को ignore करने पर पूरी तरह सहमत है। वे Speedometer को महत्वपूर्ण मानते हैं, जिसका real-world performance से काफी अच्छा correlation है, और JetStream2 में सिर्फ जरूरी हिस्सों को चुनकर देखते हैं
उससे पुराने benchmarks लक्ष्य नहीं, सिर्फ measuring sticks हैं; numbers बढ़ें तो अच्छा है, लेकिन ऐसा तभी होता है जब यह किसी और वजह से किए जा रहे काम का side effect हो
खास तौर पर इस graph में SunSpider की improvement इस साल किए गए Speedometer work का side effect है
https://news.ycombinator.com/item?id=36770883
पिछले 1 साल में कई items पर Chrome की तुलना में performance देखें, तो काफी जगहों पर लगातार improvement दिखना उत्साहजनक है
https://arewefastyet.com/win10/benchmarks/overview?numDays=3...
अच्छा क्यों है, यह obvious है, लेकिन खराब इसलिए है क्योंकि यह feedback loop बनाता है। लोग performance के हिसाब से development करते हैं, और performance लोगों द्वारा develop की गई चीजों के हिसाब से improve होती है
जानना चाहूंगा कि V8 team ने इस तरह की समस्या को कैसे handle किया
यह V8 पर भी लागू था, और हालांकि V8 ने launch के समय अपना benchmarks bundle जारी किया था, वह property access पर जरूरत से ज्यादा झुका हुआ था और early page load वाले हिस्से में कमजोर था, जिसे SunSpider संयोग से cover कर रहा था
बेशक यह 15 साल पहले की बात है, इसलिए यह मानना मुश्किल है कि उस समय का benchmark आज भी किसी उपयोगी चीज को reflect करता है; अब regression detection के अलावा इसकी value बहुत कम है
मेरे सभी computers और phones पर मैं सिर्फ Firefox इस्तेमाल करता हूं
अब तक performance से बहुत संतुष्ट हूं और सच में चाहता हूं कि यह लगातार improve होता रहे। जब Firefox इस्तेमाल नहीं कर सकता, तो मेरी दूसरी choice Brave है, और Chromium सबसे आखिरी choice है
Firefox में मैं इन extensions की जोरदार सिफारिश करता हूं: AdNauseam https://addons.mozilla.org/en-US/firefox/addon/adnauseam/, Consent-O-Matic https://addons.mozilla.org/en-US/firefox/addon/consent-o-mat..., Firefox Multi-Account containers https://addons.mozilla.org/en-US/firefox/addon/multi-account..., I don't care about cookies https://addons.mozilla.org/en-US/firefox/addon/i-dont-care-a...
जैसा नीचे कहा गया है, अगर आप Avast पर भरोसा नहीं करते, तो Consent-O-Matic से बचना बेहतर है
https://www.theregister.com/2022/09/21/avast_buys_i_dont_car...
अगर आप Avast पर भरोसा नहीं करते, तो शायद I still don't care about cookies नाम के fork पर switch करना बेहतर होगा: https://github.com/OhMyGuus/I-Still-Dont-Care-About-Cookies
बात यह है कि “Firefox 10 साल पुराने JavaScript benchmark में Chrome को आसानी से हरा देता है” और साथ ही “नए और ज्यादा demanding JetStream 2.0 में Google Chrome अब भी Firefox को आसानी से हरा देता है”
यह बताना जरूरी है कि SunSpider 2013 के बाद से update नहीं हुआ है
JetStream modern JavaScript workloads को बेहतर represent करता है, लेकिन उस benchmark में भी gap कम हो रहा है
V8 engine पर काम कर रहा हूँ, और यह अनपेक्षित चीज़ों के धीमे हो जाने वाली de-optimization की minefield है
exception handler का structure code की performance characteristics को काफी बदल सकता है, और
async/awaitतो सचमुच किस्मत जैसा है। कभी Promise तेज़ होता है, तो कभी async block तेज़ होता हैकुछ slowdown का दोष कमजोर specification पर डाला जा सकता है। समझ नहीं आता कि
...destructuring iterator क्यों इस्तेमाल करती हैलेकिन सोचता हूँ कि कहीं V8 team, पूरी तरह से न लिखे गए real-world code की बजाय benchmarks के पीछे तो नहीं भाग रही
...iterator इस्तेमाल न कर पाए, तो खासकर generator की ताकत बहुत कम हो जाएगीइस benchmark में V8 performance इसलिए ठहर गई है क्योंकि उन्होंने लंबे समय से इसकी परवाह नहीं की
Firefox के लिए अफसोस की बात है कि ध्यान देने की वजह है। benchmark महत्वपूर्ण न भी हो, फिर भी पीछे दिखना बुरा ही लगता है
मुझे लगता है कि इस topic को numbers और examples के साथ cover करने वाला कोई और हालिया article था, लेकिन अभी नहीं मिल रहा। शायद chromium/chrome team blog था, या कोई और ढूंढ पाए
हाल में Chrome के बिगड़ते जाने की बातें बहुत हो रही हैं, इसलिए मैंने अपने Chrome extension IPvFoo को Firefox पर भी ठीक से चलाने के लिए कुछ दिन polish किया
IPvFoo IPv6 transition को observe करने का tool है। technically 2017 से इसका Firefox version भी था, लेकिन कई compatibility bugs थे जिन्हें मैं उम्मीद कर रहा था कि Firefox कभी ठीक कर देगा
आखिरकार मैंने बचे हुए issues को work around करने का फैसला किया, और अब common codebase में Chrome/Firefox feature parity मिल गई है: https://github.com/pmarks-net/ipvfoo
uBO enabled Firefox Chromium-based browsers से 100% से ज़्यादा तेज़ है
Chromium-based browsers में constraints की वजह से uBO ठीक से काम नहीं करता
improvement वास्तविक है
अभी release नहीं हुआ है, लेकिन open-source latest Speedometer 3.0 से अभी test किया, और हर browser का latest version इस्तेमाल किया
Firefox Nightly(Gecko) 11.6, Safari TP(WebKit) 11.4, Chrome Canary(Blink) 9.9
https://github.com/WebKit/Speedometer
सच कहूँ तो मेरे लिए Firefox तब तक दूसरा option है जब तक उसके debugging tools Chrome के level पर नहीं आ जाते और tab UI थोड़ा और polish नहीं हो जाता
मैं रोज़ Firefox इस्तेमाल करना चाहता हूँ, लेकिन इस्तेमाल करने पर लगता है कि मेरी development speed घटती है
Firefox design मुझे पसंद नहीं है, लेकिन themes और add-ons से उसे ठीक किया जा सकता है
मैंने treestyletab को अपनी पसंद के तरीके से इस्तेमाल करने के लिए ऐसा किया, और अगर UI की परवाह है तो userchrome.css काफी freedom देता है
ऊपर से Nextcloud से devices के बीच sync कर रखा है, इसलिए हर device पर अलग से बदलाव करने की ज़रूरत नहीं पड़ती
fancy होने की ज़रूरत नहीं, basic Chromium जितना simple हो तो भी ठीक रहेगा
हाल में Firefox performance regression देखकर bug report डालने के लिए जांच की, तो लगा कि performance को काफी openly track करने वाले tools पर ध्यान दिया जा रहा है
trace profile को आसानी से upload करके share कर पाना भी मददगार है: https://firefox-source-docs.mozilla.org/testing/perfdocs/ind...
अगर Firefox performance में रुचि है, तो dedicated blog लगातार updates देता है: https://blog.mozilla.org/performance/
अगर किसी specific website पर Chromium साफ़ तौर पर ज़्यादा तेज़ लगता है, तो simple report के लिए https://webcompat.com/ है। हालांकि GitHub Issues का आदी होने के बावजूद, Bugzilla मुझे उम्मीद से बेहतर लगा