1 पॉइंट द्वारा GN⁺ 2023-11-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 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 के लिए onload event की तुलना में 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 टिप्पणियां

 
GN⁺ 2023-11-01
Hacker News की राय
  • हाल में Firefox ज़्यादा responsive लगने लगा है, यह बात subjective तौर पर महसूस की जा सकती है, और सुधार सचमुच सराहनीय व संतोषजनक हैं
    हालांकि इतनी मजबूत anonymization वाली measurement methodology को लेकर थोड़ी झिझक है। हो सकता है कि वेब खुद तेज़ हो गया हो, या लोग बेहतर hardware इस्तेमाल करने लगे हों
    अगर ज़्यादा visitors वाली sites बेहतर optimize होकर हल्के versions deploy करती हैं, तो telemetry में औसतन सब कुछ थोड़ा तेज़ दिख सकता है। Hardware replacement, operating system और driver updates का असर भी ऐसा ही हो सकता है

    • मैं 2020 वाला पुराना Firefox इस्तेमाल कर रहा था और WebP security issue के बाद ही update किया; नया version तुरंत ज़्यादा तेज़ लगा
    • पुराने Firefox versions अभी भी इस्तेमाल हो रहे हैं, इसलिए तुलना की जा सकती है कि सुधार Firefox के अपने update की वजह से है या पूरे web के तेज़ होने की वजह से
    • speed बढ़ाने का सबसे आसान रास्ता ऐसा लगता है कि software को वैसा ही रहने दिया जाए और processing power व network लगातार बेहतर होते रहें
      इतिहास में software ने गैस की तरह व्यवहार किया है—जगह भर दी और resources खा गया, और वे resources आम तौर पर software लिखने वालों के नहीं होते
      software दुनिया को नहीं खा रहा; वह हर महीने पैसे देकर खरीदे जाने वाले computer resources और bandwidth को खा रहा है
    • पिछले 6 महीनों में Firefox धीरे-धीरे भारी program जैसा महसूस होने लगा था, और random crashes व lag की वजह से Chrome पर जाने का सोच रहा था
      इस लेख को पढ़ने से पहले मैंने ध्यान नहीं दिया था, लेकिन हाल में वह एहसास गायब लगता है और मैं switch करने का विचार पहले ही छोड़ चुका था
    • web सच में तेज़ हो रहा है। वैश्विक aggregated metrics में यह धीमे लेकिन लगातार नीचे जाते trend के रूप में दिखता है, और मुझे लगता है कि Google द्वारा performance metrics और search ranking को जोड़कर push करने का इसमें बड़ा असर है
      लेकिन इस लेख का 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 है, इसलिए बड़ी शिकायत नहीं है

    • Mozilla का UI बदलते रहना भी ठीक है। अगर उससे users बढ़ते हैं तो अच्छी बात है, और Mozilla को हमेशा एक कदम पीछे रहना ही न पड़े, इसके लिए उसे risk लेने की आज़ादी होनी चाहिए
      उदाहरण के लिए FirefoxOS शायद failure था, लेकिन बड़े challenges में से अधिकतर वैसे भी fail होते हैं। अगर ऐसे long-term bets बचाकर रखे जाएं, तो Microsoft की तरह देर से पता चलता है कि आजकल के बच्चों में कई के पास laptop भी नहीं है और phone पर तो Windows चलता ही नहीं। FirefoxOS जैसे और projects हों तो भी मुझे ठीक लगता है
    • सिर्फ technology पर focus करना ही नहीं, product, यानी Firefox पर focus करना भी ज़रूरी है
      केवल technology पर focus करने की बात कहकर सारे resources Firefox OS में भी झोंके जा सकते हैं
    • web के power balance के लिए underdog को support करने वाली बात से सहमत हूं, और कुछ साल पहले switch करने के बाद वास्तव में switch से संतुष्ट हूं
  • 118 पर upgrade करने के बाद हर कुछ दिनों में Firefox random तरीके से hang हो जाता है। CPU या swap की समस्या नहीं है, लेकिन सारी windows freeze हो जाती हैं और killall firefox की जरूरत पड़ती है; फिर भी Firefox साफ़ तरीके से बंद हो जाता है
    search engine spam की वजह से relevant जानकारी खोजना भी मुश्किल है, और 118 से पहले कई साल तक सब ठीक था। इतना rare है कि extensions disable करना या नया profile बनाना जैसे reproduction experiments भी मुश्किल हैं, इसलिए शायद बस सहना पड़ेगा

    • मैं Firefox developer हूं। environment के हिसाब से diagnose करने के कुछ तरीके हैं। Linux पर अगर सब कुछ freeze हो गया है, तो tabs को manage करने वाले top-level process, यानी parent process में समस्या होने की संभावना अधिक है
      अगर crash reporter enabled है तो parent process को SIGABRT भेजें, और restart के बाद about:crashes में entry बनेगी जिसे submit किया जा सकता है
      अगर आप distro वाला Firefox इस्तेमाल करते हैं और gdbdebuginfod हैं, तो Firefox parent process से gdb attach करें, 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 से भी हल हो जाता है
    • Brave में भी दो computers पर ऐसे ही symptoms थे, और hardware acceleration बंद करने से ठीक हो गया। दोनों में Intel graphics था
    • जिज्ञासा है कि क्या आप Linux distro का stable या long-term support version नहीं इस्तेमाल कर रहे हैं
      HN पर दिखने वाली Firefox instability की complaints आम तौर पर Windows users से आती लगती हैं, या उन Linux users से जो distro packaging के बाहर latest version install करते हैं। इसके उलट, मैंने कई साल Debian stable Firefox इस्तेमाल करते हुए ऐसे threads में बताए गए bugs कभी नहीं देखे
    • अगर यह typing के दौरान होता है तो https://bugzilla.mozilla.org/show_bug.cgi?id=1844505 हो सकता है। मैं भी इस bug से प्रभावित हूं, लेकिन अब तक ticket खोजने का खयाल नहीं आया था
      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 बन जाए

    • अच्छी performance में Multi Account Containers और Tree Style Tabs जैसे शानदार add-ons भी जुड़ जाएँ, तो यह बेहतरीन browser बन जाता है
  • 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 नहीं मिला

    • Edge के built-in vertical tabs भी काफी अच्छे हैं। features बहुत ज्यादा नहीं हैं—बस auto unload और tab groups के साथ vertical tabs जैसे—लेकिन बदले में यह बहुत stable है और bugs लगभग नहीं हैं
    • बहुत सारे tabs जमा करके रखने वाले के तौर पर Auto Tab Discard ज़रूरी है। यह इस्तेमाल न हो रहे background tabs को sleep में डाल देता है ताकि वे resources न खाएँ
      और CSS से tab bar को, उदाहरण के लिए, scrollable तीन rows में बदल पाना भी अच्छा है
    • TreeStyleTab इस्तेमाल करते समय क्या ऊपर वाले tabs हटाए हैं, या दोनों को स्क्रीन पर दिखाते हैं—यह जानना चाहूँगा
      छोटी screen पर दोनों हों तो काफी screen space खोने जैसा लगता था
    • दोनों इस्तेमाल किए हैं, लेकिन आखिर में browser experience में smoothly integrated Safari tab groups ज्यादा अच्छे लगे
  • Firefox को कई सालों से main browser के रूप में इस्तेमाल कर रहा हूँ और यह बहुत अच्छा रहा है। शायद इसलिए कि ज़्यादातर high-end devices पर चलाया, लेकिन Linux, Windows, Mac सभी पर कोई खास शिकायत नहीं रही

    • high-end device न इस्तेमाल करने पर भी यही अनुभव है। रोज़ इस्तेमाल होने वाली सभी devices 5 साल से ज्यादा पुरानी हैं, फिर भी Firefox + uBlock Origin combo से पूरी तरह संतुष्ट हूँ
    • कई सालों से इस्तेमाल कर रहा हूँ और लगभग सहमत हूँ, लेकिन जहाँ समस्या रही, वह सिर्फ developer tools हैं
      बड़ी 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 की कीमत लगाना मुश्किल है

    • low-end computer इस्तेमाल करने वालों के लिए यह अब भी महत्वपूर्ण है। यात्रा के दौरान MacBook की screen टूट गई, तो जल्दी में Celeron 6305 और 4GB RAM वाला laptop खरीदा। हमेशा की तरह Firefox install किया तो वह इतना धीमा और laggy था कि इस्तेमाल नहीं किया जा सकता था
      Edge पर बदलते ही यह कहीं ज्यादा तेज़ हुआ और 4GB RAM भी कम इस्तेमाल हुई। फर्क इतना बड़ा होगा, नहीं सोचा था, लेकिन इसे नकारा नहीं जा सकता था, और low-end PC पर Edge दूसरे browsers से कहीं बेहतर चलता है
    • major browsers फिलहाल सभी पर्याप्त तेज़ लगते हैं। अब बेहतर होगा कि power consumption घटाने पर ज्यादा focus किया जाए
    • इससे जुड़ा https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-b... भी है
    • 75Mbps connection पर Firefox मेरी ज़रूरत की हर चीज़ तुरंत load कर देता है
      समझ नहीं आता benchmark का क्या मतलब है
  • मुझे भरोसा है कि Firefox team performance के बारे में क्या कर रही है, यह जानती है और सही conclusions पर पहुँची है
    बस एक छोटी-सी कमी यह लगी कि seasonal effects को control करने के लिए पिछले साल इसी समय की तुलना में performance change भी देखना चाहता था। image 1 में बदलाव 1/100 second के unit में है, इसलिए इतना signal देखते समय noise control ज्यादा महत्वपूर्ण लगता है
    वैसे मैं Firefox से संतुष्ट user हूँ

    • शायद वही arewefastyet है
      https://arewefastyet.com/
      इसके अलावा https://wiki.mozilla.org/Areweyet भी है
    • यहाँ किस तरह के seasonal effect की बात मानी जा रही है, यह जानना चाहूँगा। browser performance field को अच्छी तरह नहीं जानता, इसलिए समझ नहीं आता कि seasons के हिसाब से लोग जिन web technologies का उपभोग करते हैं, उनका mix सच में बदलता है या नहीं
      सीधे-सरल नज़रिए से यहाँ 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 का मजबूत बने रहना सच में ज़रूरी है

    • मैं Brave में rewards, VPN, wallet बंद करके और करीब 20 flags बदलकर इस्तेमाल कर रहा हूँ। मेरे लिए यह ज़्यादा तेज़ है, extension support बेहतर है, bugs कम हैं, और tabs कम होने पर memory भी कम इस्तेमाल करता है। sync संभव होने की वजह से मैंने Brave चुना
      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 कराया

    • Linux पर hardware decoding दुर्भाग्य से काफ़ी mess है। ऐसी ज़्यादातर समस्याओं में संभावना यह है कि Firefox कई video coding APIs के साथ ठीक से integrate कर रहा होता है, लेकिन किसी driver जैसी चीज़ में bug होता है
      desktop हो तो hardware video decoding को पूरी तरह बंद करके देखना भी worth trying है
    • tip: एक Firefox extension है जो YouTube को H.264 इस्तेमाल करने के लिए force करता है
      मेरी machine VP9 hardware acceleration support करती है, लेकिन यह reliable नहीं था, और H.264 पर बदलने से YouTube videos smooth चलने लगे। दूसरे video sites default रूप से H.264 इस्तेमाल करते हैं, इसलिए असल में इसकी जरूरत सिर्फ YouTube के लिए है
    • दूसरी समस्या सच में पागल कर देती है। कई सालों तक मैं दूसरे monitor पर YouTube या Twitch stream खुली रखता था, लेकिन अब लगातार frame drops, video stutter और freezes झेलने पड़ते हैं
      यह सच में अजीब performance regression है