1 poin oleh GN⁺ 2023-11-01 | 1 komentar | Bagikan ke WhatsApp
  • Setelah pekerjaan optimasi pada 2023, Firefox menunjukkan peningkatan bukan hanya di benchmark, tetapi juga di telemetri pengguna nyata untuk pemuatan halaman, responsivitas input, dan waktu eksekusi JavaScript
  • Mozilla, bersama browser lain, mendorong Speedometer 3 dan sedang membuat pengujian yang lebih baik mencerminkan performa yang dirasakan pengguna di halaman web nyata
  • Waktu dari penerimaan byte pertama hingga First Contentful Paint turun dari sekitar 250 ms pada awal tahun menjadi 215 ms pada Oktober, sehingga umpan balik pemuatan hampir 15% lebih cepat
  • Waktu eksekusi JavaScript persentil ke-95 selama pemuatan halaman berkurang 300 ms, dari sekitar 1560 ms menjadi sekitar 1260 ms, dan optimasi SpiderMonkey terkait dengan peningkatan ini
  • Setelah rilis Firefox 116·117, latensi input tombol yang lambat juga turun dari sekitar 65 ms menjadi di bawah 59 ms, menunjukkan peningkatan 10% yang mengurangi tersendat saat mengetik

Mengapa Sulit Mengukur Performa Pengguna Nyata

  • Firefox adalah perangkat lunak klien yang kompleks yang menjalankan kode pihak ketiga, sehingga sulit menilai perubahan pengalaman pengguna nyata hanya dengan metrik laboratorium yang terkendali
  • Untuk melihat performa browser, diperlukan metrik waktu yang dianonimkan seperti pemuatan halaman, responsivitas, dan waktu mulai
  • Karena data harus ditangani sambil mempertahankan standar perlindungan privasi, analisis memiliki keterbatasan
    • Karena bergantung pada metrik agregat, tidak ada kemampuan untuk secara tepat mengidentifikasi data dari situs web tertentu
    • Menarik kesimpulan yang dapat ditindaklanjuti dari data yang dikumpulkan juga tidak mudah
  • Speedometer 3 adalah upaya untuk membuat pengujian performa yang menyimulasikan pengalaman pengguna nyata, membantu browser mendorong peningkatan berdasarkan pengguna nyata dan halaman web nyata

Peningkatan Pemuatan Halaman dan Waktu Eksekusi JavaScript

  • Untuk performa pemuatan halaman yang dirasakan, First Contentful Paint digunakan sebagai metrik yang lebih sesuai daripada event onload
  • Dasar pengukurannya adalah waktu yang dibutuhkan dari saat menerima byte pertama dari jaringan hingga FCP
    • Nilai ini menunjukkan seberapa cepat pengguna menerima umpan balik bahwa halaman sedang berhasil dimuat
    • Halaman web itu sendiri punya pengaruh besar, tetapi jika performa browser secara keseluruhan membaik, angka ini dapat turun
  • Waktu terkait FCP turun dari sekitar 250 ms pada awal tahun menjadi 215 ms pada Oktober
    • Kecepatan pengguna menerima umpan balik pemuatan halaman menjadi hampir 15% lebih cepat dibanding awal tahun
    • Peningkatan ini berasal dari pekerjaan optimasi yang tidak secara langsung menargetkan pemuatan halaman
  • Waktu eksekusi kode JavaScript selama pemuatan halaman dibandingkan berdasarkan persentil ke-95
    • Metrik ini menunjukkan ruang untuk mengurangi friksi pengguna pada halaman yang banyak menggunakan JavaScript
    • Turun dari sekitar 1560 ms pada awal tahun menjadi sekitar 1260 ms pada Oktober
    • Ini adalah peningkatan 300 ms, hampir 20%, dan kemungkinan terkait dengan sebagian besar penurunan waktu FCP
  • Engine JavaScript SpiderMonkey menerima optimasi signifikan melalui pekerjaan Speedometer 3, yang berujung pada peningkatan waktu eksekusi JavaScript

Perubahan yang Terlihat pada Responsivitas Input

  • Responsivitas setelah pemuatan halaman diukur dengan “keypress present latency”
    • Ini adalah waktu dari saat tombol ditekan di keyboard hingga hasilnya ditampilkan di layar
    • Karena halaman web dapat menjalankan JavaScript di main thread untuk merespons event keypress, ada lebih banyak pekerjaan yang terlibat daripada sekadar rendering teks sederhana
  • Sebagian besar pengetikan berlangsung cepat dan terutama dibatasi oleh perangkat keras seperti refresh rate monitor, tetapi kasus input yang lambat sangat mengganggu pengalaman pengguna
  • Karena penting untuk mengurangi kasus terburuk, metrik ini juga dilihat berdasarkan persentil ke-95
  • Latensi keypress present persentil ke-95 berada di sekitar 65 ms hampir sepanjang tahun, lalu turun ke bawah 59 ms setelah rilis Firefox 116·117 pada Agustus
    • Terjadi peningkatan sekitar 10% pada kasus input tombol paling lambat
    • Pengguna merasakan umpan balik yang lebih langsung dan lebih sedikit gangguan saat mengetik
  • Peningkatan telemetri menunjukkan bahwa pekerjaan performa pada 2023 benar-benar memberikan dampak positif bagi pengguna Firefox, dengan ruang untuk optimasi lebih lanjut masih tersisa

1 komentar

 
GN⁺ 2023-11-01
Komentar Hacker News
  • Secara subjektif, Firefox belakangan memang terasa lebih responsif, dan peningkatannya benar-benar patut diapresiasi serta memuaskan.
    Namun, ada sedikit rasa kurang nyaman terhadap metodologi pengukuran yang memakai anonimisasi kuat. Bisa saja web itu sendiri memang makin cepat, atau orang-orang mulai memakai perangkat keras yang lebih baik.
    Jika situs-situs dengan banyak pengunjung makin dioptimalkan dan merilis versi yang lebih ringan, dari sisi telemetri rata-rata semuanya bisa terlihat sedikit lebih cepat. Penggantian perangkat keras serta pembaruan sistem operasi dan driver juga bisa berdampak serupa.

    • Saya memakai Firefox lama dari 2020 dan baru memperbaruinya setelah isu keamanan WebP, dan versi baru itu terasa langsung lebih cepat.
    • Karena versi Firefox lama juga masih digunakan, kita bisa membandingkan apakah peningkatan ini karena pembaruan Firefox itu sendiri atau karena web secara umum sudah makin cepat.
    • Cara termudah untuk meningkatkan kecepatan tampaknya adalah membiarkan perangkat lunaknya tetap sama, sementara daya pemrosesan dan jaringan terus membaik.
      Secara historis, perangkat lunak berperilaku seperti gas: mengisi ruang dan melahap sumber daya, dan sumber daya itu biasanya bukan milik penulis perangkat lunaknya.
      Bukan perangkat lunak yang memakan dunia, melainkan memakan sumber daya komputer dan bandwidth yang kita bayar setiap bulan.
    • Selama 6 bulan terakhir, Firefox terasa makin seperti program yang berat, dan saya sempat mempertimbangkan pindah ke Chrome karena crash acak dan tersendat-sendat.
      Sebelum membaca artikel ini saya tidak menyadarinya, tetapi belakangan rasanya hal itu sudah hilang, dan saya pun sudah berhenti memikirkan untuk beralih.
    • Web memang benar-benar makin cepat. Dalam metrik agregat global, terlihat tren penurunan yang lambat tetapi stabil, dan saya rasa pengaruh besar datang dari Google yang mendorong keterkaitan antara metrik performa dan peringkat pencarian.
      Namun, data dalam tulisan ini menunjukkan perubahan performa bertahap yang jelas dan bertepatan dengan distribusi versi browser. Tidak jujur rasanya jika tidak mengakui upaya tim Firefox dalam meningkatkan performa.
  • Senang melihat Mozilla benar-benar memperbaiki Firefox, alih-alih hanya memindah-mindahkan komponen UI.
    Sebagai pengguna lama, saya ingin mendukung pihak yang lebih lemah demi menjaga setidaknya sedikit keseimbangan kekuatan di web. Bagus jika Mozilla lebih fokus pada teknologi daripada politik, dan bagaimanapun Firefox adalah perangkat lunak yang bagus, jadi saya tidak punya keluhan besar.

    • Tidak masalah juga jika Mozilla terus mengubah UI. Jika itu bisa menambah pengguna, itu hal baik, dan agar Mozilla tidak selalu tertinggal satu langkah, mereka harus punya kebebasan untuk mengambil risiko.
      Misalnya FirefoxOS tampaknya gagal, tetapi memang sebagian besar tantangan besar pada dasarnya gagal. Jika terlalu menyayangkan tantangan jangka panjang seperti itu, kita bisa seperti Microsoft yang terlambat menyadari bahwa banyak anak zaman sekarang bahkan tidak punya laptop, dan ponsel mereka tentu saja tidak menjalankan Windows. Menurut saya, tidak apa-apa jika ada lebih banyak proyek seperti FirefoxOS.
    • Bukan hanya fokus pada teknologi, penting juga untuk fokus pada produk, yaitu Firefox.
      Bisa saja seseorang mengaku fokus pada teknologi, tetapi menuangkan semua sumber daya ke Firefox OS.
    • Saya setuju soal mendukung pihak yang lebih lemah demi keseimbangan kekuatan di web, dan setelah beralih beberapa tahun lalu, saya benar-benar puas dengan perpindahan itu.
  • Setelah upgrade ke 118, Firefox berhenti secara acak setiap beberapa hari sekali. Bukan masalah CPU atau swap, tetapi semua jendela membeku dan perlu killall firefox; meski begitu Firefox tetap keluar dengan bersih.
    Karena spam mesin pencari, sulit juga mencari informasi terkait, dan sebelum 118 selama bertahun-tahun semuanya baik-baik saja. Kejadiannya terlalu jarang sehingga eksperimen reproduksi seperti menonaktifkan ekstensi atau membuat profil baru juga sulit, jadi sepertinya harus diterima saja.

    • Saya pengembang Firefox. Ada beberapa cara diagnosis tergantung lingkungan. Jika semuanya membeku di Linux, kemungkinan besar masalahnya ada pada parent process, yaitu proses tingkat atas yang mengelola tab-tab.
      Jika crash reporter aktif, Anda bisa mengirim SIGABRT ke parent process, lalu setelah restart akan muncul entri di about:crashes yang bisa dikirimkan.
      Jika Anda memakai Firefox dari distro dan memiliki gdb serta debuginfod, Anda bisa menempelkan gdb ke parent process Firefox, mengambil simbol, lalu menjalankan thread all apply bt untuk men-dump stack semua thread pada parent process.
      Jika memakai build Mozilla, Anda bisa menggunakan https://firefox-source-docs.mozilla.org/toolkit/crashreporte... untuk menghubungkan ke server simbol mereka sendiri. Tergantung distronya, ini mungkin bisa atau tidak bisa digunakan juga pada Firefox dari distro.
      Jika informasi crash sudah dibuat, Anda bisa mengunggahnya ke pelacak bug distro atau ke https://bugzilla.mozilla.org/enter_bug.cgi?product=Core dengan menyertakan informasi terkait seperti stack, versi Firefox, laporan crash, dan about:support.
      Di Linux, hang seperti ini sering kali merupakan bug antara Firefox dan lingkungan desktop atau masalah driver grafis, dan jika ada stack, penyebabnya bisa dipersempit secara signifikan. Kadang-kadang bisa selesai hanya dengan pembaruan paket atau satu pengaturan.
    • Saya juga mengalami gejala serupa di Brave pada dua komputer, dan masalahnya selesai setelah mematikan hardware acceleration. Keduanya memakai grafis Intel.
    • Saya penasaran apakah Anda memakai sesuatu selain versi stabil atau versi dukungan jangka panjang dari distro Linux.
      Keluhan tentang ketidakstabilan Firefox yang terlihat di HN umumnya tampaknya datang dari pengguna Windows, atau pengguna Linux yang memasang versi terbaru di luar pemaketan distro. Sebaliknya, selama bertahun-tahun memakai Firefox Debian stable, saya belum pernah mengalami bug seperti yang digambarkan di thread semacam ini.
    • Jika terjadi saat mengetik, mungkin ini https://bugzilla.mozilla.org/show_bug.cgi?id=1844505. Saya juga terdampak bug ini, tetapi sampai sekarang belum terpikir untuk mencari tiketnya.
      Untuk mereproduksinya, sepertinya perlu mencoba binary Mozilla yang murni.
  • Ini kabar baik, dan membuat saya ingin mencobanya lagi
    Saya memakainya hampir 20 tahun sejak masa Phoenix/Firebird, ketika metode instalasinya masih “ekstrak di suatu tempat”, tetapi saya pindah ke browser berbasis Chromium karena perbedaan kecepatan yang terasa
    Saya tidak menjalankan benchmark untuk memastikan kecurigaan itu atau mengukur tindakan apa di Firefox yang lebih lambat beberapa milidetik, tetapi kalau itu alat yang dipakai seharian setiap hari, termasuk untuk bekerja, perbedaan yang terasa mudah muncul
    Melihat berbagai laporan peningkatan performa belakangan ini dan metrik penggunaan nyata, saya jadi ingin mencobanya lagi beberapa hari. Kalau saya tidak merasakan perbedaan, atau benar-benar terasa lebih cepat, saya akan kembali
    Alasan saya ingin kembali adalah karena kita benar-benar membutuhkan mesin browser alternatif. Saya tidak ingin komite standar berubah menjadi acara semacam “tahun ini Google sudah memutuskan kita harus melakukan ini”

    • Jika performa bagus digabungkan dengan add-on hebat seperti Multi Account Containers dan Tree Style Tabs, hasilnya menjadi browser yang sangat baik
  • Fitur killer Firefox masih tetap kemampuannya memberi fleksibilitas manajemen tab. Berkat Sidebery dan TreeStyleTab, saya terus bertahan di ekosistem Firefox
    Untuk gaya penggunaan dengan menumpuk banyak tab atau memakai tab seperti daftar tugas, pengalamannya jauh lebih baik sehingga sulit membayangkan memakai yang lain
    Di Android pun saya memakai Firefox karena ada add-on uBlock Origin dan Dark Reader. Penjelajahan web seluler jadi jauh lebih baik. Bukan karena saya sangat loyal pada Firefox itu sendiri, hanya saja saya belum menemukan browser berbasis Chromium yang secocok ini untuk saya

    • Tab vertikal bawaan Edge juga cukup bagus. Fiturnya tidak kaya, kurang lebih hanya tab vertikal dengan unload otomatis dan grup tab, tetapi sebagai gantinya sangat stabil dan hampir tidak ada bug
    • Sebagai orang yang menumpuk banyak tab, saya membutuhkan Auto Tab Discard. Ini menidurkan tab latar belakang yang tidak dipakai agar tidak memakan sumber daya
      Dan saya juga suka bahwa dengan CSS, bilah tab bisa diubah, misalnya, menjadi tiga baris yang dapat digulir
    • Saya penasaran saat memakai TreeStyleTab, apakah tab di bagian atas dihilangkan, atau keduanya tetap ditampilkan di layar
      Di layar kecil, kalau keduanya ada, rasanya cukup banyak ruang layar yang hilang
    • Saya sudah mencoba keduanya, tetapi pada akhirnya grup tab Safari yang terintegrasi mulus ke pengalaman browser terasa lebih baik
  • Saya sudah memakai Firefox sebagai browser utama selama bertahun-tahun dan sangat puas. Mungkin karena saya terutama menjalankannya di perangkat kelas atas, tetapi saya tidak punya banyak keluhan di Linux, Windows, maupun Mac

    • Saya juga merasakan hal yang sama meski tidak memakai perangkat kelas atas. Semua perangkat yang saya pakai setiap hari sudah berusia lebih dari 5 tahun, tetapi saya benar-benar puas dengan kombinasi Firefox + uBlock Origin
    • Saya sudah memakainya selama beberapa tahun dan hampir sepakat, tetapi satu-satunya bagian yang bermasalah adalah developer tools
      Saat membuka file JS besar, debugger menjadi cukup lambat, dan source map membuat kelambatan itu makin parah. Saat memakai source map, kadang nilai variabel tidak selalu bisa diperiksa, meski itu mungkin masalah konfigurasi build tool
  • Di Speedometer 2, Firefox jauh lebih lambat daripada Chrome, dan Chrome sedikit lebih lambat daripada Edge. Meski begitu, dalam kehidupan nyata saya rasa tidak ada perbedaan besar
    Saya menghormati dan mempercayai perlindungan privasi Mozilla. Container, serta kemampuan menjalankan Ublock dan Tampermonkey di mobile, sulit dinilai dengan uang

    • Bagi orang yang memakai komputer spesifikasi rendah, itu tetap penting. Saat bepergian, layar MacBook saya rusak dan saya buru-buru membeli laptop Celeron 6305 dengan RAM 4GB. Seperti biasa saya memasang Firefox, tetapi terlalu lambat dan tersendat sampai tidak bisa dipakai
      Setelah beralih ke Edge, rasanya jauh lebih cepat dan penggunaan RAM 4GB juga lebih rendah. Saya tidak menyangka perbedaannya sebesar ini, tetapi tidak bisa membantahnya; di PC spesifikasi rendah, Edge berjalan jauh lebih baik daripada browser lain
    • Browser-browser utama saat ini tampaknya semuanya sudah cukup cepat. Akan lebih baik jika sekarang lebih fokus pada pengurangan konsumsi daya
    • Terkait hal ini, ada juga https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-b...
    • Pada koneksi 75Mbps, Firefox memuat semua yang saya butuhkan secara instan
      Jadi saya bertanya-tanya apa arti benchmark itu
  • Saya percaya tim Firefox tahu apa yang mereka lakukan terkait performa dan telah mengambil kesimpulan yang benar
    Namun satu hal kecil yang agak saya sayangkan adalah saya juga ingin melihat perubahan performa dibandingkan periode yang sama tahun lalu untuk mengontrol efek musiman. Gambar 1 menunjukkan perubahan dalam satuan 1/100 detik, jadi saat melihat sinyal sekecil ini, pengendalian noise tampaknya lebih penting
    Sebagai tambahan, saya adalah pengguna yang puas dengan Firefox

    • Sepertinya itu arewefastyet, bukan?
      https://arewefastyet.com/
      Selain itu ada juga https://wiki.mozilla.org/Areweyet
    • Saya penasaran efek musiman seperti apa yang diasumsikan di sini. Saya tidak terlalu paham bidang performa browser, jadi saya tidak tahu apakah susunan teknologi web yang dikonsumsi orang benar-benar berubah menurut musim
      Secara naif, tren di sini terlihat konsisten dan sinyalnya tampak lebih besar daripada variansinya. Ini tampak seperti hasil para engineer cerdas yang mengoptimalkan metrik tersebut selama periode pengukuran
      Pada saat yang sama, saya setuju bahwa akan lebih baik jika ada sumbu waktu yang lebih panjang. Peningkatan besar pada Agustus mungkin bukan karena Firefox 116 dirilis pada 1 Agustus, melainkan karena orang-orang di belahan bumi utara melihat bacaan yang lebih ringan selama musim liburan
  • Jika Anda tetap memakai browser berbasis Chromium karena terasa lebih cepat, setidaknya cobalah Firefox sekali
    Belakangan ini saya memakainya dengan sangat nyaman sampai tidak terpikir untuk kembali, dan demi masa depan web, sangat penting agar keberagaman browser tetap kuat

    • Saya memakai Brave dengan mematikan rewards, VPN, dan wallet, serta mengubah sekitar 20 flag. Bagi saya ini lebih cepat, dukungan ekstensinya lebih baik, bug lebih sedikit, dan saat tab sedikit, penggunaan memorinya juga lebih rendah. Saya memilih Brave karena bisa sinkronisasi
      Firefox juga mengesankan, dan saya juga mencoba fork bernama Floorp. Ada beberapa fitur tambahan yang berguna, mendukung sinkronisasi, dan terasa lebih baik daripada Firefox biasa. Sebelumnya saya memakai ungoogled-chromium
      https://github.com/Floorp-Projects/Floorp/releases
      Sayangnya, menurut pengalaman saya, beberapa situs web masih berjalan lebih baik di browser Chromium. Ini hanya anekdotal, tetapi di situs milik Google saya juga merasa ada semacam fingerprinting negatif terhadap Firefox, dan sepertinya kebocoran memorinya juga lebih banyak. Karena Manifest V3, pada akhirnya saya mungkin akan pindah ke Firefox, tetapi untuk saat ini saya akan tetap di Brave
  • Saya benar-benar tidak yakin apakah sudah membaik, tetapi ada dua masalah yang tak kunjung terselesaikan
    Pertama, pada video VP9, decoding video dengan akselerasi hardware bekerja aneh. Meski dimatikan atau dipaksa memakai AV1, kadang masih tersendat
    Kedua, di lingkungan grafis hybrid, jika bermain game sambil menonton video di background, kWin membeku, video yang diputar di browser berubah menjadi hijau, dan semua yang memakai iGPU atau dGPU menjadi sangat tersendat. Pada akhirnya harus logout lalu login lagi untuk me-restart sesi secara manual
    Masalah kedua mungkin disebabkan Nvidia prime offload di Wayland. Memang salah saya punya kartu Nvidia, tetapi di Bugzilla saya belum menemukan topik terkait yang belum terselesaikan, dan jujur saya agak takut melaporkannya lalu mendapat pertanyaan yang menyudutkan. Saya ingin men-debug lebih lanjut, tetapi tidak punya kesabaran
    Ini belum sampai membuat saya meninggalkan Firefox, tetapi keduanya adalah sumber masalah yang berkepanjangan. Bagaimanapun, selamat untuk timnya. Hari ini saya berhasil membuat 5 orang beralih ke Firefox

    • Decoding hardware di Linux sayangnya cukup berantakan. Sebagian besar masalah seperti ini kemungkinan terjadi karena Firefox sebenarnya berintegrasi dengan baik dengan berbagai API coding video, tetapi ada sisi lain seperti driver tertentu yang memiliki bug
      Jika memakai desktop, layak dicoba untuk mematikan decoding video hardware sepenuhnya
    • Tip: Ada ekstensi Firefox yang memaksa YouTube memakai H.264
      Perangkat saya mendukung akselerasi hardware VP9, tetapi kurang andal, dan setelah beralih ke H.264, video YouTube diputar dengan mulus. Situs video lain pada dasarnya memakai H.264, jadi praktis hanya diperlukan untuk YouTube
    • Masalah kedua benar-benar bikin gila. Selama bertahun-tahun saya biasa membuka YouTube atau stream Twitch di monitor kedua, tetapi sekarang terus mengalami penurunan frame, video tersendat, dan macet
      Ini benar-benar regresi performa yang aneh