Firefox, 2023’te gerçek kullanıcı ortamlarında daha hızlı hale geldi
(hacks.mozilla.org)- 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
onloadolayı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
-
- 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
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.
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.
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.
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.
Ö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.
“Sadece teknolojiye odaklanıyoruz” deyip tüm kaynakları Firefox OS’ye de akıtabilirsiniz.
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 firefoxgerekiyor, 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.
Çökme raporlayıcı açıksa ebeveyn sürece
SIGABRTgönderebilirsiniz; yeniden başlattıktan sonraabout:crashesiçinde bir kayıt oluşur ve bunu gönderebilirsiniz.Dağıtımın Firefox’unu kullanıyorsanız ve
gdbiledebuginfodvarsa,gdb’yi Firefox ebeveyn sürecine bağlayıp sembolleri aldıktan sonrathread 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:supportgibi 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.
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.
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
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
Ayrıca CSS ile sekme çubuğunu örneğin kaydırılabilir üç satırlı hâle getirebilmek de hoşuma gidiyor
Küçük ekranda ikisi birden olunca epey ekran alanı kaybediliyor gibi gelmişti
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ı
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
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
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
https://arewefastyet.com/
Ek olarak https://wiki.mozilla.org/Areweyet de var
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
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
Masaüstündeyseniz donanım video çözmeyi tamamen kapatmayı denemek de değer
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
Gerçekten tuhaf bir performans regresyonu