2023 में वास्तविक उपयोगकर्ता वातावरण में Firefox और तेज़ हुआ
(hacks.mozilla.org)- 2023 के optimization कार्यों के बाद Firefox में सिर्फ benchmarks ही नहीं, बल्कि वास्तविक उपयोगकर्ता telemetry में भी page load, input responsiveness और JavaScript execution time में सुधार देखा गया
- Mozilla अन्य browsers के साथ मिलकर Speedometer 3 को आगे बढ़ा रहा है, ताकि ऐसा test बनाया जा सके जो वास्तविक webpages पर उपयोगकर्ता द्वारा महसूस की जाने वाली performance को बेहतर ढंग से दर्शाए
- First Contentful Paint तक पहुँचने का समय, यानी पहला byte मिलने से लेकर, साल की शुरुआत में लगभग 250ms से घटकर अक्टूबर में 215ms हो गया, जिससे loading feedback लगभग 15% तेज़ हुआ
- Page load के दौरान JavaScript execution time का 95th percentile लगभग 1560ms से घटकर लगभग 1260ms हो गया, यानी 300ms की कमी, और यह सुधार SpiderMonkey optimization से जुड़ा है
- Firefox 116·117 release के बाद धीमे key input latency भी लगभग 65ms से घटकर 59ms से कम हो गए, जिससे typing के दौरान रुकावट कम करने वाला 10% सुधार दिखाई दिया
वास्तविक उपयोगकर्ता performance को मापना कठिन क्यों है
- Firefox एक जटिल client software है जो third-party code चलाता है, इसलिए सिर्फ नियंत्रित lab metrics के आधार पर वास्तविक उपयोगकर्ता अनुभव में बदलाव का आकलन करना कठिन है
- Browser performance को समझने के लिए page load, responsiveness और startup time जैसे anonymized timing metrics की ज़रूरत होती है
- डेटा को privacy standards बनाए रखते हुए संभालना पड़ता है, इसलिए analysis पर कुछ सीमाएँ रहती हैं
- Aggregate metrics पर निर्भर होने के कारण किसी खास website के डेटा को सटीक रूप से अलग करके देखने की सुविधा नहीं है
- एकत्रित डेटा से actionable conclusions निकालना भी आसान नहीं है
- Speedometer 3 एक ऐसा performance test बनाने का काम है जो वास्तविक उपयोगकर्ता अनुभव का simulation करे, ताकि browsers वास्तविक उपयोगकर्ताओं और वास्तविक webpages के आधार पर सुधार आगे बढ़ा सकें
page load और JavaScript execution time में सुधार
- Page load की महसूस होने वाली performance के लिए
onloadevent की तुलना में First Contentful Paint अधिक उपयुक्त metric माना जाता है - Measurement का आधार network से पहला byte मिलने के समय से FCP तक का समय है
- यह मान दिखाता है कि उपयोगकर्ता को page के सफलतापूर्वक load होने का feedback कितनी जल्दी मिलता है
- Webpage का अपना प्रभाव भी बड़ा होता है, लेकिन browser की समग्र performance बेहतर होने पर यह संख्या कम हो सकती है
- FCP से जुड़ा समय साल की शुरुआत के लगभग 250ms से घटकर अक्टूबर में 215ms हो गया
- उपयोगकर्ताओं को page load feedback मिलने की गति साल की शुरुआत की तुलना में लगभग 15% तेज़ हो गई
- यह सुधार उन optimization कार्यों से आया जो सीधे page load को target नहीं कर रहे थे
- Page load के दौरान JavaScript code execution time की तुलना 95th percentile के आधार पर की गई
- यह metric दिखाता है कि JavaScript-heavy pages में उपयोगकर्ता friction कम करने की कितनी गुंजाइश है
- यह साल की शुरुआत के लगभग 1560ms से घटकर अक्टूबर में लगभग 1260ms हो गया
- 300ms, यानी लगभग 20% सुधार, FCP समय में आई कमी के बड़े हिस्से से जुड़ा हो सकता है
- SpiderMonkey JavaScript engine को Speedometer 3 पर काम के दौरान काफ़ी optimization मिले, और इन्हीं से JavaScript execution time में सुधार हुआ
input responsiveness में दिखे बदलाव
- Page load के बाद responsiveness को “keypress present latency” से मापा गया
- यह keyboard पर key दबाने के समय से लेकर उसका परिणाम screen पर दिखने तक का समय है
- Webpage, keypress event का जवाब देने के लिए main-thread JavaScript चला सकता है, इसलिए इसमें सिर्फ text rendering से अधिक काम शामिल हो सकता है
- ज़्यादातर typing तेज़ होती है और मुख्य रूप से hardware सीमाओं, जैसे monitor refresh rate, से बंधी होती है, लेकिन धीमे input के मामले उपयोगकर्ता अनुभव को काफ़ी बाधित करते हैं
- चूँकि सबसे खराब मामलों को कम करना महत्वपूर्ण है, इसलिए इस metric को भी 95th percentile के आधार पर देखा गया
- 95th percentile keypress present latency साल के अधिकांश हिस्से में लगभग 65ms था, और अगस्त में Firefox 116·117 release के बाद यह 59ms से नीचे आ गया
- सबसे धीमे key input मामलों में लगभग 10% सुधार हुआ
- उपयोगकर्ताओं को typing के दौरान अधिक त्वरित feedback और कम बाधा का अनुभव होता है
- Telemetry में दिखा यह सुधार बताता है कि 2023 के performance कार्यों का Firefox उपयोगकर्ताओं पर वास्तविक रूप से सकारात्मक प्रभाव पड़ा, और आगे optimization की गुंजाइश अभी भी मौजूद है
1 टिप्पणियां
Hacker News की राय
हाल में Firefox ज़्यादा responsive लगने लगा है, यह बात subjective तौर पर महसूस की जा सकती है, और सुधार सचमुच सराहनीय व संतोषजनक हैं
हालांकि इतनी मजबूत anonymization वाली measurement methodology को लेकर थोड़ी झिझक है। हो सकता है कि वेब खुद तेज़ हो गया हो, या लोग बेहतर hardware इस्तेमाल करने लगे हों
अगर ज़्यादा visitors वाली sites बेहतर optimize होकर हल्के versions deploy करती हैं, तो telemetry में औसतन सब कुछ थोड़ा तेज़ दिख सकता है। Hardware replacement, operating system और driver updates का असर भी ऐसा ही हो सकता है
इतिहास में software ने गैस की तरह व्यवहार किया है—जगह भर दी और resources खा गया, और वे resources आम तौर पर software लिखने वालों के नहीं होते
software दुनिया को नहीं खा रहा; वह हर महीने पैसे देकर खरीदे जाने वाले computer resources और bandwidth को खा रहा है
इस लेख को पढ़ने से पहले मैंने ध्यान नहीं दिया था, लेकिन हाल में वह एहसास गायब लगता है और मैं switch करने का विचार पहले ही छोड़ चुका था
लेकिन इस लेख का data browser version rollout के साथ जुड़ा साफ़ step-wise performance change दिखाता है। Firefox team के performance सुधार के प्रयासों को न मानना ईमानदार नहीं होगा
अच्छा लगता है कि Mozilla सिर्फ UI components को इधर-उधर करने के बजाय वाकई Firefox को बेहतर कर रहा है
लंबे समय से user होने के नाते, web में power balance थोड़ा भी बनाए रखने के लिए underdog को support करना चाहता हूं। Mozilla का politics से ज़्यादा technology पर focus करना अच्छी बात है, और वैसे भी Firefox अच्छा software है, इसलिए बड़ी शिकायत नहीं है
उदाहरण के लिए FirefoxOS शायद failure था, लेकिन बड़े challenges में से अधिकतर वैसे भी fail होते हैं। अगर ऐसे long-term bets बचाकर रखे जाएं, तो Microsoft की तरह देर से पता चलता है कि आजकल के बच्चों में कई के पास laptop भी नहीं है और phone पर तो Windows चलता ही नहीं। FirefoxOS जैसे और projects हों तो भी मुझे ठीक लगता है
केवल technology पर focus करने की बात कहकर सारे resources Firefox OS में भी झोंके जा सकते हैं
118 पर upgrade करने के बाद हर कुछ दिनों में Firefox random तरीके से hang हो जाता है। CPU या swap की समस्या नहीं है, लेकिन सारी windows freeze हो जाती हैं और
killall firefoxकी जरूरत पड़ती है; फिर भी Firefox साफ़ तरीके से बंद हो जाता हैsearch engine spam की वजह से relevant जानकारी खोजना भी मुश्किल है, और 118 से पहले कई साल तक सब ठीक था। इतना rare है कि extensions disable करना या नया profile बनाना जैसे reproduction experiments भी मुश्किल हैं, इसलिए शायद बस सहना पड़ेगा
अगर crash reporter enabled है तो parent process को
SIGABRTभेजें, और restart के बादabout:crashesमें entry बनेगी जिसे submit किया जा सकता हैअगर आप distro वाला Firefox इस्तेमाल करते हैं और
gdbवdebuginfodहैं, तो Firefox parent process सेgdbattach करें, symbols लें, फिरthread all apply btचलाएं; इससे parent process के सभी thread stacks dump हो सकते हैंअगर आप Mozilla build इस्तेमाल कर रहे हैं, तो अपने symbol server से integrate करने के लिए https://firefox-source-docs.mozilla.org/toolkit/crashreporte... इस्तेमाल कर सकते हैं। distro के हिसाब से यह distro Firefox में भी चल सकता है या नहीं भी चल सकता
crash information बन जाने पर distro bug tracker या https://bugzilla.mozilla.org/enter_bug.cgi?product=Core पर stack, Firefox version, crash report,
about:supportआदि relevant जानकारी जोड़कर पोस्ट करेंLinux पर ऐसे hangs अक्सर Firefox और desktop environment के बीच के bug या graphics driver issue होते हैं, और stack मिलने पर cause काफी narrow down किया जा सकता है। कभी-कभी package update या एक setting से भी हल हो जाता है
HN पर दिखने वाली Firefox instability की complaints आम तौर पर Windows users से आती लगती हैं, या उन Linux users से जो distro packaging के बाहर latest version install करते हैं। इसके उलट, मैंने कई साल Debian stable Firefox इस्तेमाल करते हुए ऐसे threads में बताए गए bugs कभी नहीं देखे
reproduce करने के लिए शायद vanilla Mozilla binary इस्तेमाल करनी पड़ेगी
यह अच्छी खबर है, और फिर से इस्तेमाल करके देखने का मन कर रहा है
Phoenix/Firebird के दौर में “कहीं भी unzip करके रख दो” वाले installation तरीके से ही लगभग 20 साल इस्तेमाल किया, लेकिन महसूस होने वाले speed difference की वजह से Chromium-based browser पर चला गया
शक पक्का करने के लिए benchmarks नहीं चलाए, न ही यह मापा कि Firefox में कौन-सा action कितने milliseconds धीमा है, लेकिन अगर कोई tool काम समेत रोज़ पूरे दिन इस्तेमाल होता हो, तो फर्क महसूस होना आसान है
हाल की कई performance improvement reports और real-world usage metrics देखकर कुछ दिन फिर से इस्तेमाल करने का मन है। अगर फर्क महसूस नहीं हुआ या सच में तेज़ लगा, तो वापस लौटने वाला हूँ
वापस जाना चाहने की वजह यह है कि alternative browser engine ज़रूरी है। मैं नहीं चाहता कि standards committee “इस साल Google ने ऐसा करने को कहा है” जैसी event बन जाए
Firefox का killer feature अब भी यह है कि वह tab management flexibility देता है। Sidebery और TreeStyleTab की वजह से मैं Firefox ecosystem में बना हुआ हूँ
बहुत सारे tabs जमा करके रखने या tabs को to-do list की तरह इस्तेमाल करने के तरीके में experience इतना बेहतर है कि कुछ और इस्तेमाल करते हुए खुद को imagine करना मुश्किल है
Android पर भी uBlock Origin और Dark Reader add-ons की वजह से Firefox इस्तेमाल करता हूँ। mobile web browsing बहुत बेहतर हो जाती है। Firefox के प्रति कोई बहुत बड़ी loyalty नहीं है, बस मुझे अपने लिए इतना अच्छा fit होने वाला Chromium-based browser नहीं मिला
और CSS से tab bar को, उदाहरण के लिए, scrollable तीन rows में बदल पाना भी अच्छा है
छोटी screen पर दोनों हों तो काफी screen space खोने जैसा लगता था
Firefox को कई सालों से main browser के रूप में इस्तेमाल कर रहा हूँ और यह बहुत अच्छा रहा है। शायद इसलिए कि ज़्यादातर high-end devices पर चलाया, लेकिन Linux, Windows, Mac सभी पर कोई खास शिकायत नहीं रही
बड़ी JS file खोलते समय debugger काफी धीमा हो जाता है, और source maps उस slowdown को और बढ़ा देते हैं। source maps इस्तेमाल करते समय variable values हमेशा inspect नहीं कर पाने के cases भी हैं, हालांकि यह build tool configuration की समस्या भी हो सकती है
Speedometer 2 में Firefox, Chrome से काफी धीमा है, और Chrome, Edge से थोड़ा धीमा है। फिर भी real life में मुझे बड़ा फर्क नहीं लगता
मैं Mozilla की privacy protection का सम्मान करता हूँ और उस पर भरोसा करता हूँ। containers, mobile पर Ublock और Tampermonkey चला पाने की capability की कीमत लगाना मुश्किल है
Edge पर बदलते ही यह कहीं ज्यादा तेज़ हुआ और 4GB RAM भी कम इस्तेमाल हुई। फर्क इतना बड़ा होगा, नहीं सोचा था, लेकिन इसे नकारा नहीं जा सकता था, और low-end PC पर Edge दूसरे browsers से कहीं बेहतर चलता है
समझ नहीं आता benchmark का क्या मतलब है
मुझे भरोसा है कि Firefox team performance के बारे में क्या कर रही है, यह जानती है और सही conclusions पर पहुँची है
बस एक छोटी-सी कमी यह लगी कि seasonal effects को control करने के लिए पिछले साल इसी समय की तुलना में performance change भी देखना चाहता था। image 1 में बदलाव 1/100 second के unit में है, इसलिए इतना signal देखते समय noise control ज्यादा महत्वपूर्ण लगता है
वैसे मैं Firefox से संतुष्ट user हूँ
https://arewefastyet.com/
इसके अलावा https://wiki.mozilla.org/Areweyet भी है
सीधे-सरल नज़रिए से यहाँ trend consistent है और signal variance से बड़ा दिखता है। ऐसा लगता है जैसे measurement period के दौरान smart engineers ने उस metric को optimize किया हो
साथ ही, मैं इस बात से सहमत हूँ कि लंबा time axis हो तो अच्छा रहेगा। August में हुआ बड़ा improvement शायद Firefox 116 के 1 August को आने की वजह से नहीं, बल्कि northern hemisphere के लोगों द्वारा vacation season में हल्का reading material देखने के प्रभाव से भी हो सकता है
अगर स्पीड महसूस होने की वजह से आप Chromium-आधारित ब्राउज़र से चिपके हुए हैं, तो कम से कम Firefox को एक बार आज़माना अच्छा रहेगा
आजकल मैं इसे इतना अच्छा इस्तेमाल कर रहा हूँ कि वापस जाने का सोचता भी नहीं, और वेब के भविष्य के लिए ब्राउज़र diversity का मजबूत बने रहना सच में ज़रूरी है
Firefox भी प्रभावशाली था और मैंने Floorp नाम का fork भी आज़माया। इसमें कुछ उपयोगी extra features हैं, और sync support करते हुए भी मुझे यह सामान्य Firefox से बेहतर लगा। पहले मैं ungoogled-chromium इस्तेमाल करता था
https://github.com/Floorp-Projects/Floorp/releases
अफसोस, मेरे अनुभव में कुछ websites अब भी Chromium browsers पर बेहतर चलती हैं। यह anecdotal है, लेकिन Google-owned sites पर Firefox के खिलाफ किसी तरह की negative fingerprinting जैसा भी महसूस होता है, और memory leaks भी ज़्यादा लगते हैं। Manifest V3 की वजह से शायद आखिरकार Firefox पर शिफ्ट हो जाऊँगा, लेकिन फिलहाल Brave पर ही रहूँगा
सच में पता नहीं कि यह बेहतर हुआ है या नहीं, लेकिन दो समस्याएँ हैं जो आखिर तक हल नहीं हुईं
पहली, VP9 वीडियो में hardware-accelerated video decoding अजीब तरह से काम करता है। इसे बंद कर दूँ या AV1 जबरन इस्तेमाल करूँ, तब भी कभी-कभी अटकता है
दूसरी, hybrid graphics environment में background में वीडियो देखते हुए game खेलने पर kWin freeze हो जाता है, browser में चल रहा वीडियो हरा हो जाता है, और iGPU या dGPU इस्तेमाल करने वाली हर चीज़ बुरी तरह stutter करती है। आखिर में logout करके फिर login कर session को manually restart करना पड़ता है
दूसरी समस्या शायद Wayland पर Nvidia prime offload की वजह से हो सकती है। Nvidia card रखने की गलती मेरी ही है, लेकिन Bugzilla में मुझे इससे जुड़ा कोई पहले से unresolved topic नहीं मिला, और सच कहूँ तो report करने पर उल्टे सवालों का सामना करना पड़ेगा, इससे थोड़ा डर लगता है। और debug करना चाहता हूँ, लेकिन धैर्य नहीं है
ये Firefox छोड़ने लायक तो नहीं हैं, लेकिन दो लंबे समय से चली आ रही सिरदर्द समस्याएँ हैं। खैर, team को बधाई। आज मैंने 5 लोगों को सफलतापूर्वक Firefox पर switch कराया
desktop हो तो hardware video decoding को पूरी तरह बंद करके देखना भी worth trying है
मेरी machine VP9 hardware acceleration support करती है, लेकिन यह reliable नहीं था, और H.264 पर बदलने से YouTube videos smooth चलने लगे। दूसरे video sites default रूप से H.264 इस्तेमाल करते हैं, इसलिए असल में इसकी जरूरत सिर्फ YouTube के लिए है
यह सच में अजीब performance regression है