1 puan yazan GN⁺ 2023-08-16 | 1 yorum | WhatsApp'ta paylaş
  • Firefox, eski SunSpider JavaScript benchmark'ında Chrome'dan daha hızlı hale geldi, ancak bu test büyük ölçüde artık JetStream ile yer değiştirmiş durumda
  • Son Firefox Nightly News, Firefox'un SunSpider'da Chrome'u geçmiş göründüğünü belirtti ve paylaşılan veriler de Firefox üstünlüğünü gösteriyor
  • Benchmark kaynağı AreWeFastYet.com ve karşılaştırılan test yaklaşık 10 yıllık bir JavaScript performans testi
  • Daha yeni ve daha ağır yük oluşturan JetStream 2.0'da Google Chrome hâlâ Firefox'u rahatça geride bırakıyor
  • Son yaklaşık bir ayda Firefox, SunSpider çalışma hızı dışında HTTP/2 yükleme hızı gibi alanlarda da çeşitli iyileştirmeler yaptı

Eski SunSpider'da görülen Firefox üstünlüğü

  • Mozilla geliştiricileri, Firefox'un Google Chrome'dan SunSpider JavaScript benchmark'ında daha hızlı sonuçlar vermesini olumlu karşılıyor
  • SunSpider yaklaşık 10 yıllık bir JavaScript benchmark'ı ve bugün bunun yerini JetStream benchmark'ı almış durumda
  • Yakın tarihli Firefox Nightly News paylaşımında “We’re now apparently beating Chrome on the SunSpider JavaScript benchmark!” denildi
  • Açıklanan veriler, Firefox'un bu eski JavaScript benchmark'ında Chrome'u belirgin biçimde geçtiğini gösteriyor
  • Benchmark verileri AreWeFastYet.com üzerinden geliyor

Modern benchmark'larda Chrome üstünlüğü sürüyor

  • Daha yeni ve daha yüksek gereksinimli JetStream 2.0 benchmark'ında Google Chrome, Firefox'u hâlâ rahat biçimde geride bırakıyor
  • Firefox, son yaklaşık bir ay içinde SunSpider JavaScript benchmark'ındaki çalışma hızını büyük ölçüde artırdı
  • Aynı dönemde HTTP/2 yükleme hızı iyileştirmeleri dahil çeşitli çalışmalar da yürütüldü
  • En yeni Firefox Nightly derlemelerindeki değişiklikler Firefox Nightly News üzerinden görülebilir

1 yorum

 
GN⁺ 2023-08-16
Hacker News yorumları
  • Eski bir V8 mühendisi gözüyle bakınca SunSpider berbat bir benchmark ve hâlâ takip ediliyor olmasına inanmak zor
    Son yaklaşık 15 yılda JavaScript performans mühendisliğinin yönünü yanlış yönlendirdi ve motorların gerçek sitelere faydası olmayan tuhaf optimizasyon numaraları geliştirmesine yol açtı
    V8 uzun zaman önce çoğu mikrobenchmarktan uzaklaştı: https://benediktmeurer.de/2016/12/16/the-truth-about-traditi...
    Bu, Firefox’taki performans iyileştirmelerinin önemli ya da sevindirici olmadığı anlamına gelmiyor. Sadece SunSpider’ın bakılabilecek benchmark’lar içinde en kötülerinden biri olduğu anlamına geliyor

    • Tam olarak söylersek, eski bir panonun parçası olarak hâlâ çalıştırılması anlamında takip ediliyor
      Maliyeti düşük ve bazen istemeden oluşan performans regresyonlarını yakalayabiliyor
      SpiderMonkey ekibi de mikrobenchmark’ları görmezden gelme konusunda tamamen hemfikir. Gerçek dünya performansıyla oldukça iyi korelasyon gösteren Speedometer’ı önemli görüyorlar; JetStream2’de ise yalnızca ihtiyaç duyulan bazı kısımlara bakıyorlar
      Ondan daha eski olanlar hedef değil, sadece ölçüm çubuğu; rakamların yükselmesi güzel ama bu ancak başka nedenlerle yapılan işlerin yan etkisi olduğunda oluyor
      Özellikle bu grafikteki SunSpider iyileşmesi, bu yıl yapılan Speedometer çalışmasının bir yan etkisi
    • Paylaştığınız bağlantı Speedometer’ı öne çıkarıyor; orada Firefox’un zaten Chrome’u geçtiği biliniyor
      https://news.ycombinator.com/item?id=36770883
    • Firefox, performansı çeşitli benchmark’larda takip ediyor
      Son 1 yılda çeşitli başlıklarda Chrome’a kıyasla performansa bakınca, pek çoğunda istikrarlı iyileşmenin sürmesi umut verici
      https://arewefastyet.com/win10/benchmarks/overview?numDays=3...
    • Gerçek sitelere dayalı benchmark’lar hem iyi hem de kötü bir fikir gibi görünüyor
      İyi tarafı obvious, ama kötü tarafı bir geri bildirim döngüsü oluşturması. İnsanlar performansa göre geliştiriyor, performans da insanların geliştirdiklerine göre iyileştiriliyor
      V8 ekibinin bu tür bir sorunu nasıl ele aldığını merak ediyorum
    • Adil olmak gerekirse SunSpider ilk çıktığında, o dönemde web’de var olan JavaScript motorlarının temel darboğazlarını oldukça doğru yansıtıyordu
      Bu V8 için de geçerliydi; V8 piyasaya çıkarken kendi benchmark paketini sunmuş olsa da özellik erişimine fazla ağırlık veriyordu ve SunSpider’ın tesadüfen kapsadığı ilk sayfa yükleme tarafında eksikti
      Elbette bu 15 yıl önceydi; o zamanki benchmark’ın bugün işe yarar bir şeyi yansıttığını söylemek zor ve artık regresyon tespiti dışında pek büyük değeri yok
  • Sahip olduğum tüm bilgisayar ve telefonlarda yalnızca Firefox kullanıyorum
    Şimdiye kadar performansından çok memnunum ve gerçekten gelişmeye devam etmesini istiyorum. Firefox kullanamadığımda ikinci tercihim Brave, Chromium ise en son tercihim
    Firefox’ta şu eklentileri şiddetle öneririm: 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...
    Aşağıda belirtildiği gibi Avast’a güvenmiyorsanız Consent-O-Matic’ten kaçınmak iyi olur

  • Anlatılan şey aynı anda şu: “Firefox, 10 yıllık bir JavaScript benchmark’ında Chrome’u rahatça geçiyor” ve “daha yeni ve daha zorlu JetStream 2.0’da Google Chrome hâlâ Firefox’u rahatça geçiyor”

    • macOS’te Safari, Chrome’u bundan da daha büyük bir farkla geride bırakıyor
    • Firefox’u çok seviyorum ama bunu okuyunca biraz buruk hissettim
  • SunSpider’ın 2013’ten beri güncellenmediğini belirtmek gerekiyor
    JetStream modern JavaScript iş yüklerini daha iyi temsil ediyor, ancak o benchmark’ta da fark kapanıyor

  • V8 motoru üzerinde çalışıyorum; beklenmedik şeylerin yavaşladığı bir de-optimizasyon mayın tarlası
    İstisna işleyici yapısı kodun performans özelliklerini ciddi ölçüde değiştirebiliyor ve async/await gerçekten neredeyse şansa bağlı. Bazen Promise daha hızlı, bazen de async blok daha hızlı oluyor
    Bazı yavaşlamalar zayıf spesifikasyonun suçu sayılabilir. ... destructuring’in neden iterator kullandığını anlamıyorum
    Ama V8 ekibinin, kusursuz yazılmamış gerçek dünya kodu yerine benchmark’ların peşinden gidip gitmediğini merak ediyorum

    • ... iterator kullanamasa, özellikle generator’ların gücü çok daha zayıflardı
    • V8 ekibi bunu yapmıyor
      Bu benchmark’ta V8 performansının durağanlaşmasının nedeni, uzun zamandır umursamamaları
      Firefox’un ise ne yazık ki umursamak için bir teşviki var. Benchmark önemli olmasa bile geride görünmek hâlâ kötü göründüğü için
    • Tam tersi değil mi? https://v8.dev/blog/real-world-performance
      Bu konuyu sayılar ve örneklerle ele alan daha yakın tarihli bir yazı vardı diye hatırlıyorum ama şu an bulamıyorum. chromium/chrome ekip blogunda da olabilir; belki başka biri bulabilir
  • Son zamanlarda Chrome’un kötüye gittiğine dair çok konuşulduğu için, kendi Chrome eklentim IPvFoo’yu Firefox’ta da düzgün çalışacak şekilde birkaç gün elden geçirdim
    IPvFoo, IPv6 geçişini gözlemlemeye yarayan bir araç. Teknik olarak 2017’den beri Firefox sürümü de vardı ama Firefox’un bir gün düzeltmesini umduğum çok sayıda uyumluluk hatası vardı
    Sonunda kalan sorunların etrafından dolaşmaya karar verdim ve artık ortak kod tabanında Chrome/Firefox özellik eşdeğerliği sağlandı: https://github.com/pmarks-net/ipvfoo

  • uBO açık Firefox, Chromium tabanlı tarayıcılardan %100’den fazla daha hızlı
    Chromium tabanlı tarayıcılarda kısıtlamalar nedeniyle uBO düzgün çalışmıyor

  • İyileşme gerçek
    Henüz yayımlanmamış olsa da açık kaynak olan en yeni Speedometer 3.0 ile az önce test ettim ve her tarayıcının en güncel sürümünü kullandım
    Firefox Nightly(Gecko) 11.6, Safari TP(WebKit) 11.4, Chrome Canary(Blink) 9.9
    https://github.com/WebKit/Speedometer

  • Açıkçası benim için Firefox, debugging araçları Chrome seviyesine gelene ve sekme arayüzü biraz daha cilalanana kadar ikinci tercih
    Her gün Firefox kullanmak istiyorum ama kullandığımda geliştirme hızım düşüyormuş gibi hissediyorum

    • Ben aksine Firefox’un geliştirici araçlarının çok daha kolay kullanıldığını düşünüyorum
      Firefox’un tasarımını sevmiyorum ama tema ve eklentilerle düzeltilebiliyor
    • Sorun arayüzse userchrome.css ile biraz oynayabilirsin
      Ben treestyletab’i istediğim şekilde kullanmak için bunu yaptım; arayüze önem veriyorsan userchrome.css epey özgürlük sağlıyor
      Üstelik Nextcloud ile cihazlar arasında senkronize ettiğim için her cihazda ayrı ayrı değiştirmem gerekmiyor
    • Ben de benzer şekilde arayüzün biraz değişmesini isterdim
      Gösterişli olmasına gerek yok; varsayılan Chromium kadar sade olsa yeter
  • Yakın zamanda Firefox’ta bir performans gerilemesi görüp hata raporu açmak için bakınırken, performansı oldukça açık biçimde takip eden araçların ilgi gördüğünü fark ettim
    İzleme profillerini kolayca yükleyip paylaşabilmek de yardımcı oluyor: https://firefox-source-docs.mozilla.org/testing/perfdocs/ind...
    Firefox performansıyla ilgileniyorsanız özel blogu sürekli güncel bilgi veriyor: https://blog.mozilla.org/performance/
    Belirli bir web sitesinde Chromium’un belirgin biçimde daha hızlı olduğunu düşünüyorsanız basit bildirimler için https://webcompat.com/ var. Yine de GitHub Issues’a alışkın biri olarak bakınca bile Bugzilla beklediğimden daha iyi