1 puan yazan GN⁺ 2023-11-01 | 1 yorum | WhatsApp'ta paylaş
  • Firefox, 2023’teki optimizasyon çalışmalarının ardından yalnızca benchmark’larda değil, gerçek kullanıcı telemetrisinde de sayfa yükleme, giriş tepkiselliği ve JavaScript yürütme süresinde iyileşme gösterdi
  • Mozilla, diğer tarayıcılarla birlikte Speedometer 3’ü ilerletiyor; kullanıcıların gerçek web sayfalarında hissettiği performansı daha iyi yansıtan bir test oluşturuyor
  • İlk baytın alınmasından First Contentful Paint’e kadar geçen süre, yıl başındaki yaklaşık 250 ms’den ekimde 215 ms’ye indi; yükleme geri bildirimi neredeyse %15 daha hızlı hale geldi
  • Sayfa yükleme sırasında JavaScript yürütme süresinin 95. persentili yaklaşık 1560 ms’den yaklaşık 1260 ms’ye, yani 300 ms azaldı; SpiderMonkey optimizasyonu bu iyileşmeyle bağlantılı
  • Firefox 116·117 sürümlerinden sonra yavaş tuş girişi gecikmesi de yaklaşık 65 ms’den 59 ms’nin altına düştü; yazarken takılmaları azaltan %10’luk bir iyileşme görüldü

Gerçek kullanıcı performansını ölçmenin neden zor olduğu

  • Firefox, üçüncü taraf kod çalıştıran karmaşık bir istemci yazılımı olduğundan, kontrollü laboratuvar metrikleriyle gerçek kullanıcı deneyimindeki değişimi değerlendirmek zor
  • Tarayıcı performansını görmek için sayfa yükleme, tepkisellik ve başlatma süresi gibi anonimleştirilmiş zamanlama metrikleri gerekiyor
  • Verilerin gizlilik standartları korunarak ele alınması gerektiğinden analizde kısıtlar var
    • Toplu metriklere dayanıldığı için belirli bir web sitesine ait verileri kesin olarak saptayan bir özellik yok
    • Toplanan verilerden uygulanabilir sonuçlar çıkarmak da kolay değil
  • Speedometer 3, gerçek kullanıcı deneyimini simüle eden bir performans testi oluşturup tarayıcıların gerçek kullanıcılar ve gerçek web sayfaları temelinde iyileştirme yapmasına yardımcı olan bir çalışma

Sayfa yükleme ve JavaScript yürütme süresindeki iyileşmeler

  • Sayfa yüklemenin algılanan performansı için onload olayından ziyade First Contentful Paint daha uygun bir metrik olarak kullanılıyor
  • Ölçüm kıstası, ağdan ilk baytın alındığı andan FCP’ye kadar geçen süre
    • Bu değer, kullanıcının sayfanın başarıyla yüklendiğine dair geri bildirimi ne kadar hızlı aldığını gösteriyor
    • Web sayfasının kendi etkisi de büyük olsa da, tarayıcının genel performansı iyileştiğinde bu değer düşebilir
  • FCP ile ilgili süre yıl başındaki yaklaşık 250 ms’den ekimde 215 ms’ye düştü
    • Kullanıcının sayfa yükleme geri bildirimi alma hızı yıl başına göre neredeyse %15 arttı
    • Bu iyileşme, doğrudan sayfa yüklemeyi hedeflemeyen optimizasyon çalışmalarından çıktı
  • Sayfa yükleme sırasında JavaScript kodunun yürütme süresi 95. persentile göre karşılaştırıldı
    • Bu metrik, JavaScript’i yoğun kullanan sayfalarda kullanıcı sürtünmesini azaltma potansiyelini gösteriyor
    • Yıl başındaki yaklaşık 1560 ms’den ekimde yaklaşık 1260 ms’ye indi
    • 300 ms’lik, neredeyse %20’lik iyileşme, FCP süresindeki azalmanın önemli bir bölümüyle ilişkili olabilir
  • SpiderMonkey JavaScript motoru, Speedometer 3 çalışmaları sayesinde önemli optimizasyonlar aldı ve bu da JavaScript yürütme süresindeki iyileşmeye yol açtı

Giriş tepkiselliğinde görülen değişim

  • Sayfa yüklemeden sonraki tepkisellik “keypress present latency” ile ölçülüyor
    • Bu, klavyede bir tuşa basıldığı andan sonucun ekranda gösterildiği ana kadar geçen süre
    • Web sayfası keypress olayına yanıt vermek için ana iş parçacığında JavaScript çalıştırabildiğinden, basit metin render etmeden daha fazla iş devreye giriyor
  • Yazma işlemlerinin çoğu hızlıdır ve esas olarak monitör yenileme hızı gibi donanımla sınırlıdır; ancak yavaş giriş örnekleri kullanıcı deneyimini ciddi biçimde bozar
  • En kötü vakaları hafifletmek önemli olduğundan bu metrik de 95. persentil temelinde ele alınıyor
    1. persentil keypress present latency yılın büyük bölümünde yaklaşık 65 ms’ydi; ağustostaki Firefox 116·117 sürümlerinden sonra 59 ms’nin altına indi
    • En yavaş tuş girişi örneklerinde yaklaşık %10 iyileşme oldu
    • Kullanıcılar yazarken daha anlık geri bildirim ve daha az kesinti deneyimliyor
  • Telemetri iyileşmeleri, 2023’teki performans çalışmalarının Firefox kullanıcıları üzerinde gerçekten olumlu etki yarattığını ve ek optimizasyon alanlarının da hâlâ bulunduğunu gösteriyor

1 yorum

 
GN⁺ 2023-11-01
Hacker News yorumları
  • Son dönemde Firefox’un daha atik hissettirdiğini öznel olarak doğrulayabiliyorum; iyileştirmeler için gerçekten minnettarım ve memnunum.
    Yine de güçlü anonimleştirme içeren ölçüm metodolojisi konusunda biraz içime sinmeyen bir taraf var. Web’in kendisi hızlanmış ya da insanlar daha iyi donanımlar kullanmaya başlamış olabilir mi diye düşünüyorum.
    Çok ziyaretçi alan siteler daha iyi optimize edilip daha hafif sürümler yayımlarsa, telemetride ortalama olarak her şey biraz hızlanmış gibi görünebilir. Donanım yenilemeleri, işletim sistemi ve sürücü güncellemeleri için de aynı şey geçerli olabilir.

    • 2020’den kalma eski bir Firefox kullanıyordum; ancak WebP güvenlik sorununun ardından güncelledim ve yeni sürüm anında daha hızlı hissettirdi.
    • Eski Firefox sürümleri hâlâ kullanıldığına göre, iyileşmenin Firefox’un kendi güncellemesinden mi yoksa web’in genel olarak hızlanmasından mı kaynaklandığı karşılaştırılabilir.
    • Hızı artırmanın en kolay yolu, yazılımı olduğu gibi bırakıp işlem gücü ve ağın sürekli daha iyi hâle gelmesine izin vermek gibi görünüyor.
      Tarihsel olarak yazılım gaz gibi davranıp alanı doldurdu ve kaynakları tüketti; üstelik bu kaynaklar genelde yazılımı yazanlara ait değildi.
      Yazılım dünyayı yemiyor; her ay para ödenen bilgisayar kaynaklarını ve bant genişliğini yiyor.
    • Son 6 ay boyunca Firefox giderek ağır bir program gibi gelmeye başlamıştı; rastgele çökmeler ve takılmalar yüzünden Chrome’a geçmeyi düşünüyordum.
      Bu yazıyı okuyana kadar farkında değildim ama son zamanlarda o his kaybolmuş gibi ve zaten geçme fikrinden de vazgeçmişim.
    • Web gerçekten hızlanıyor. Dünya genelindeki toplu metriklerde yavaş ama istikrarlı bir düşüş trendi olarak görülüyor; bunda Google’ın performans metrikleri ile arama sıralamasını ilişkilendirip bunu dayatmasının büyük etkisi olduğunu düşünüyorum.
      Ancak bu yazıdaki veriler, tarayıcı sürümlerinin dağıtımıyla örtüşen belirgin, kademeli performans değişimleri gösteriyor. Firefox ekibinin performans iyileştirme çabasını teslim etmemek dürüstçe olmaz.
  • Mozilla’nın yalnızca UI bileşenlerini oradan oraya taşımak yerine gerçekten Firefox’u iyileştirdiğini görmek güzel.
    Uzun süredir kullanan biri olarak, web’deki güç dengesini az da olsa korumak için güçsüz tarafı desteklemek istiyorum. Mozilla’nın siyasetten çok teknolojiye odaklanması iyi bir şey; her hâlükârda Firefox iyi bir yazılım, bu yüzden büyük bir şikâyetim yok.

    • Mozilla’nın UI’ı sürekli değiştirmesi de sorun değil. Bu kullanıcı sayısını artırıyorsa iyi bir şey; Mozilla’nın hep bir adım geriden gelmemesi için risk alma özgürlüğüne sahip olması gerekiyor.
      Örneğin FirefoxOS başarısız olmuş gibi görünüyor ama zaten büyük meydan okumaların çoğu başarısız olur. Böyle uzun vadeli hamlelere kıyamazsanız, Microsoft gibi, günümüz çocuklarının bir kısmında dizüstü bilgisayar bile olmadığını ve telefonlarında doğal olarak Windows çalışmadığını geç fark edersiniz. FirefoxOS benzeri projelerin daha fazla olmasında sakınca görmüyorum.
    • Yalnızca teknolojiye odaklanmak değil, ürüne, yani Firefox’a odaklanmak da önemli.
      “Sadece teknolojiye odaklanıyoruz” deyip tüm kaynakları Firefox OS’ye de akıtabilirsiniz.
    • Web’deki güç dengesi için güçsüz tarafı destekleme fikrine katılıyorum; birkaç yıl önce geçiş yaptıktan sonra gerçekten geçişimden memnunum.
  • 118’e yükselttikten sonra Firefox birkaç günde bir rastgele donuyor. CPU ya da swap sorunu değil; tüm pencereler kilitleniyor ve killall firefox gerekiyor, buna rağmen Firefox temiz şekilde kapanıyor.
    Arama motoru spam’i yüzünden ilgili bilgi bulmak da zor; 118’den önce yıllardır sorunsuzdu. O kadar seyrek oluyor ki eklentileri devre dışı bırakma ya da yeni profil gibi yeniden üretme denemeleri yapmak da zor; sanırım katlanmak gerekecek.

    • Firefox geliştiricisiyim. Ortama bağlı olarak birkaç teşhis yöntemi var. Linux’ta her şey donduysa, sekmeleri yöneten en üst süreç olan ebeveyn süreçte sorun olma olasılığı yüksek.
      Çökme raporlayıcı açıksa ebeveyn sürece SIGABRT gönderebilirsiniz; yeniden başlattıktan sonra about:crashes içinde bir kayıt oluşur ve bunu gönderebilirsiniz.
      Dağıtımın Firefox’unu kullanıyorsanız ve gdb ile debuginfod varsa, gdb’yi Firefox ebeveyn sürecine bağlayıp sembolleri aldıktan sonra thread all apply bt çalıştırarak ebeveyn sürecin tüm iş parçacığı yığınlarını dökebilirsiniz.
      Mozilla derlemesi kullanıyorsanız, kendi sembol sunucusuyla entegre etmek için https://firefox-source-docs.mozilla.org/toolkit/crashreporte... kullanabilirsiniz. Dağıtıma bağlı olarak bu, dağıtım Firefox’unda da çalışabilir ya da çalışmayabilir.
      Çökme bilgisi oluştuğunda, dağıtımın hata takip sistemine veya https://bugzilla.mozilla.org/enter_bug.cgi?product=Core adresine yığın, Firefox sürümü, çökme raporu, about:support gibi ilgili bilgileri ekleyerek gönderebilirsiniz.
      Linux’ta bu tür donmalar çoğu zaman Firefox ile masaüstü ortamı arasındaki bir hatadan ya da grafik sürücüsü sorunundan kaynaklanır; yığın bilgisi varsa neden ciddi ölçüde daraltılabilir. Bazen bir paket güncellemesi ya da tek bir ayar da çözebilir.
    • Brave’de de iki bilgisayarda benzer belirtiler yaşadım; donanım hızlandırmayı kapatınca çözüldü. İkisi de Intel grafik kullanıyordu.
    • Linux dağıtımının kararlı ya da uzun süreli destek sürümü olmayan bir sürümünü kullanıp kullanmadığını merak ediyorum.
      HN’de gördüğüm Firefox kararsızlığı şikâyetleri genelde Windows kullanıcılarından ya da dağıtım paketlemesinin dışından en güncel sürümü kuran Linux kullanıcılarından geliyor gibi. Buna karşılık Debian kararlı sürümündeki Firefox’u yıllardır kullanıyorum ve bu tür başlıklarda tarif edilen hatalarla hiç karşılaşmadım.
    • Yazı yazarken oluyorsa https://bugzilla.mozilla.org/show_bug.cgi?id=1844505 olabilir. Ben de bu hatadan etkileniyorum ama şimdiye kadar bileti aramak aklıma gelmemişti.
      Yeniden üretmek için sanırım saf Mozilla ikilisini denemek gerekecek.
  • İyi haber; yeniden denemek istiyorum
    Phoenix/Firebird dönemindeki “bir yere arşivden çıkar” kurulum yönteminden beri neredeyse 20 yıl kullandım, ama hissedilen hız farkı yüzünden Chromium tabanlı bir tarayıcıya geçtim
    Şüphemi doğrulamak için benchmark çalıştırmadım ya da Firefox’ta hangi işlemin kaç milisaniye yavaş olduğunu ölçmedim; ama iş dahil her gün bütün gün kullanılan bir araçta farkı hissetmek kolay oluyor
    Son dönemdeki çeşitli performans iyileştirme raporlarını ve gerçek kullanım metriklerini görünce birkaç gün yeniden denemeyi düşünüyorum. Farkı hissetmezsem ya da gerçekten daha hızlı gelirse geri döneceğim
    Geri dönmek istememin nedeni alternatif bir tarayıcı motorunun mutlaka gerekli olması. Standart komitelerinin “bu yıl Google böyle yapılmasına karar verdi” türü etkinliklere dönüşmesini istemiyorum

    • İyi performansa Multi Account Containers ve Tree Style Tabs gibi harika eklentiler de eklenince mükemmel bir tarayıcı oluyor
  • Firefox’un killer özelliği hâlâ sekme yönetimi esnekliğine izin vermesi. Sidebery ve TreeStyleTab sayesinde Firefox ekosisteminde kalmaya devam ediyorum
    Çok fazla sekme biriktiren ya da sekmeleri yapılacaklar listesi gibi kullanan bir kullanım tarzında deneyim ezici biçimde daha iyi; başka bir şey kullandığımı hayal etmek zor
    Android’de de uBlock Origin ve Dark Reader eklentileri olduğu için Firefox kullanıyorum. Mobil web’de gezinme çok daha iyi oluyor. Firefox’un kendisine karşı büyük bir sadakatim yok; sadece bana bu kadar iyi uyan Chromium tabanlı bir tarayıcı bulamadım

    • Edge’in yerleşik dikey sekmeleri de oldukça iyi. Çok zengin özellikli değil; otomatik unload ve sekme grupları olan dikey sekmelerden ibaret sayılır, ama buna karşılık çok kararlı ve neredeyse hiç hatası yok
    • Çok sekme biriktiren biri olarak Auto Tab Discard’a ihtiyacım var. Kullanılmayan arka plan sekmelerini uyutarak kaynak tüketmelerini engelliyor
      Ayrıca CSS ile sekme çubuğunu örneğin kaydırılabilir üç satırlı hâle getirebilmek de hoşuma gidiyor
    • TreeStyleTab kullanırken üstteki sekmeleri kaldırıp kaldırmadığını, yoksa ikisini birden ekranda mı tuttuğunu merak ediyorum
      Küçük ekranda ikisi birden olunca epey ekran alanı kaybediliyor gibi gelmişti
    • İkisini de denedim ama sonunda tarayıcı deneyimine daha pürüzsüz entegre olan Safari sekme gruplarını daha çok beğendim
  • Firefox’u yıllardır ana tarayıcı olarak kullanıyorum ve çok iyi oldu. Belki de çoğunlukla yüksek donanımlı cihazlarda çalıştırdığım içindir, ama Linux, Windows ve Mac’in hepsinde pek şikâyetim olmadı

    • Ben yüksek donanımlı cihaz kullanmıyorum ama bende de aynı. Her gün kullandığım cihazların hepsi 5 yıldan eski, yine de Firefox + uBlock Origin kombinasyonundan tamamen memnunum
    • Birkaç yıldır kullanıyorum ve büyük ölçüde katılıyorum; sorun yaşadığım tek yer geliştirici araçları oldu
      Büyük JS dosyalarını açarken debugger epey yavaşlıyor, source map’ler de bu yavaşlamayı artırıyor. Source map kullanırken değişken değerlerini her zaman inceleyemediğim durumlar da oluyor; bu, build aracı ayarlarından da kaynaklanıyor olabilir
  • Speedometer 2’de Firefox, Chrome’dan çok daha yavaş; Chrome da Edge’den biraz yavaş. Yine de gerçek hayatta büyük bir fark olmadığını düşünüyorum
    Mozilla’nın gizlilik korumasına saygı duyuyor ve güveniyorum. Container’lar, mobilde Ublock ve Tampermonkey çalıştırabilme özelliği paha biçilemez

    • Düşük özellikli bilgisayar kullananlar için bu hâlâ önemli. Seyahatte MacBook ekranım kırılınca aceleyle Celeron 6305 ve 4 GB RAM’li bir dizüstü aldım; her zamanki gibi Firefox kurunca çok yavaş ve takılmalı olduğu için kullanılamaz hâle geldi
      Edge’e geçince çok daha hızlıydı ve 4 GB RAM’i de daha az kullanıyordu. Farkın bu kadar büyük olacağını bilmiyordum ama inkâr edilemezdi; düşük özellikli PC’lerde Edge diğer tarayıcılardan çok daha iyi çalışıyor
    • Başlıca tarayıcıların şu anda hepsi yeterince hızlı görünüyor. Artık güç tüketimini azaltmaya daha fazla odaklanılsa iyi olur
    • Bununla ilgili olarak https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-b... da var
    • 75 Mbps bağlantıda Firefox ihtiyaç duyduğum her şeyi anında yüklüyor
      Benchmark’ın ne anlamı var diye düşünüyorum
  • Firefox ekibinin performans konusunda ne yaptığını bildiğine ve doğru sonuçlara vardığına inanıyorum
    Yine de küçük bir eksiklik olarak, mevsimsel etkileri kontrol etmek için geçen yılın aynı dönemine kıyasla performans değişimini de görmek isterdim. Görsel 1’deki değişim 1/100 saniye düzeyinde; bu büyüklükte bir sinyale bakarken gürültü kontrolü daha önemli görünüyor
    Ek olarak, Firefox’tan memnun bir kullanıcıyım

    • Bu arewefastyet değil mi diye düşünüyorum
      https://arewefastyet.com/
      Ek olarak https://wiki.mozilla.org/Areweyet de var
    • Burada hangi mevsimsel etkinin varsayıldığını merak ediyorum. Tarayıcı performansı alanını pek bilmiyorum; insanların tükettiği web teknolojisi bileşiminin mevsime göre gerçekten değişip değişmediğini bilmiyorum
      Safça bakınca buradaki trend tutarlı ve sinyal varyanstan büyük görünüyor. Ölçüm dönemi boyunca akıllı mühendislerin ilgili metriği optimize etmesinin sonucu gibi duruyor
      Aynı zamanda daha uzun bir zaman ekseni olmasının iyi olacağına katılıyorum. Ağustos’taki büyük iyileşme, Firefox 116’nın 1 Ağustos’ta çıkmasından değil de Kuzey Yarımküre’deki insanların tatil sezonunda daha hafif okuma içerikleri tüketmesinden kaynaklanmış olabilir
  • Hız hissi yüzünden Chromium tabanlı tarayıcılara bağlı kalan biriyseniz, en azından Firefox’u bir kez denemeniz iyi olur
    Son zamanlarda geri dönmeyi hiç düşünmeyecek kadar memnun kullanıyorum; web’in geleceği için tarayıcı çeşitliliğinin güçlü biçimde korunması gerçekten önemli

    • Brave’de ödülleri, VPN’i ve cüzdanı kapatıp yaklaşık 20 bayrağı değiştirerek kullanıyorum. Benim için daha hızlı, eklenti desteği daha iyi, daha az hatalı ve sekme sayısı az olduğunda daha az bellek kullanıyor. Senkronizasyon yapabildiği için Brave’i seçtim
      Firefox da etkileyiciydi; Floorp adlı bir fork’u da denedim. Birkaç kullanışlı ek özelliği var ve senkronizasyonu desteklerken normal Firefox’tan daha iyi hissettirdi. Daha önce ungoogled-chromium kullanıyordum
      https://github.com/Floorp-Projects/Floorp/releases
      Ne yazık ki benim deneyimime göre bazı web siteleri hâlâ Chromium tarayıcılarda daha iyi çalışıyor. Anekdot niteliğinde ama Google’a ait sitelerde Firefox’a karşı olumsuz parmak izi algılama gibi şeyler de hissediyorum ve daha fazla bellek sızıntısı var gibi görünüyor. Manifest V3 yüzünden sonunda Firefox’a geçeceğim gibi, ama şimdilik Brave’de kalacağım
  • Daha iyi olup olmadığından gerçekten emin değilim, ama bir türlü çözülmeyen iki sorun var
    Birincisi, VP9 videolarda donanım hızlandırmalı video çözme garip çalışıyor. Kapatsam ya da AV1’i zorlasam bile ara sıra takılma oluyor
    İkincisi, hibrit grafik ortamında arka planda video izlerken oyun oynarsam kWin donuyor, tarayıcıda oynayan video yeşile dönüyor ve iGPU ya da dGPU kullanan her şey ciddi şekilde tekliyor. Sonunda oturumu elle yeniden başlatmak için çıkış yapıp tekrar giriş yapmam gerekiyor
    İkinci sorun Wayland’de Nvidia prime offload’dan kaynaklanıyor olabilir. Nvidia kart kullandığım için suç bende sayılır, ama Bugzilla’da bununla ilgili hâlâ çözülmemiş bir konu bulamadım ve açıkçası bildirim yapıp sorgulayıcı sorularla karşılaşmaktan biraz çekiniyorum. Daha fazla hata ayıklamak isterdim ama sabrım yok
    Firefox’u bırakacak kadar değil, ama uzun süredir can sıkan iki mesele. Yine de ekibi tebrik ederim. Bugün 5 kişiyi başarıyla Firefox’a geçirdim

    • Linux’ta donanım çözme ne yazık ki epey karmaşık. Bu tür sorunların çoğunda Firefox’un çeşitli video kodlama API’leriyle aslında düzgün entegre çalıştığı, ama bir sürücü gibi başka bir tarafta hata bulunduğu olası görünüyor
      Masaüstündeyseniz donanım video çözmeyi tamamen kapatmayı denemek de değer
    • İpucu: YouTube’un H.264 kullanmasını zorlayan bir Firefox eklentisi var
      Cihazım VP9 donanım hızlandırmasını destekliyor ama güvenilir değildi; H.264’e geçince YouTube videoları akıcı oynadı. Diğer video siteleri varsayılan olarak H.264 kullandığından, pratikte yalnızca YouTube için gerekli
    • İkinci sorun gerçekten insanı çıldırtıyor. Yıllardır ikinci monitörde YouTube ya da Twitch yayını açık bırakırdım; artık sürekli kare düşüşleri, video takılmaları ve donmalar yaşıyorum
      Gerçekten tuhaf bir performans regresyonu