Firefox Instant Performance Bagian 3: Peningkatan startup yang signifikan

Ubuntu


Foto oleh Chris Hardy, hapus percikan

Selamat datang di pembaruan terbaru dalam seri Tindakan Instan Firefox kami. Minggu ini, kami membahas dua peningkatan kinerja signifikan yang baru saja tersedia untuk semua pengguna.

Pertama, mari kita tinjau misi kita:

Firefox menawarkan banyak manfaat bagi pengguna sehari-hari Ubuntu serta berbagai distribusi Linux lainnya. Ini meningkatkan keamanan, menyediakan kompatibilitas lintas rilis, dan mempersingkat waktu yang dibutuhkan untuk peningkatan Mozilla untuk menjangkau pengguna akhir.

Saat ini, pendekatan ini memiliki kompromi kinerja, terutama pada peluncuran pertama Firefox setelah sistem reboot. Seri ini melacak kemajuan kami dalam meningkatkan waktu peluncuran untuk memastikan kami memberikan pengalaman pengguna sebaik mungkin.

Sepanjang jalan, kami juga akan mengatasi masalah kegunaan tertentu yang diidentifikasi dengan bantuan komunitas.

Anda dapat mempelajari tentang cerita sejauh ini di bagian 1 dan bagian 2 dari seri ini.

Di mana kita?

Sejak pembaruan terakhir, kami telah membuat peningkatan signifikan pada kinerja peluncuran Firefox. Peningkatan terbaru kami bertujuan untuk pengurangan rata-rata 50% dalam waktu startup setelah instalasi baru dibandingkan dengan Firefox 101, yang konsisten di berbagai distribusi dan platform.

Perbaikan ini sekarang tersedia di Firefox versi stabil terbaru di Snap Store (atau Anda cukup Penyegaran instan di baris perintah untuk memastikan semua foto Anda mutakhir).

Apa yang telah berubah?

Sejak pembaruan terakhir, ada dua peningkatan besar. Yang pertama adalah Mozilla mengubah cara Firefox mengelola paket bahasa. Yang kedua adalah memperbarui tema GNOME dan GTK yang menjadi andalan Firefox.

Kelola Ekstensi – Paket Bahasa

Sebelumnya, Firefox menyalin semua paket bahasa pada peluncuran pertama, biaya yang tidak perlu dan besar, karena kebanyakan orang menjalankan Firefox hanya dengan satu bahasa antarmuka pengguna, misalnya: Inggris atau Prancis.

Perbaikan terbaru Mozilla berarti Firefox sekarang hanya akan memuat satu wilayah berdasarkan pengaturan sistem.

Ini terutama mempengaruhi peluncuran pertama Firefox setelah instalasi baru, secara signifikan mengurangi waktu startup awal. Pengujian kami menunjukkan bahwa pada sistem modern dengan penyimpanan cepat, rata-rata turun menjadi sekitar 6 detik.

Kompresi instan tema GNOME dan GTK

Sebelum memulai seri ini, kami telah meningkatkan kinerja startup Firefox dengan menggunakan kompresi LZO untuk Firefox snap.

Apa yang tidak kami pertimbangkan pada awalnya adalah bahwa snap Firefox bergantung pada snap gnome-3-38-2004 dan gtk-common-theme, yang masih dikompresi menggunakan algoritma XZ. Karena Firefox Snaps memuat pustaka dari dua Snap ini selama startup, proses dekompresi berpotensi membuat kemacetan.

Mengubah algoritme kompresi untuk kedua snap ini ke LZO menghasilkan peningkatan yang signifikan (kedua kami) dalam waktu startup Firefox.

Manfaat tambahan adalah bahwa perubahan ini tidak hanya memengaruhi Firefox, tetapi juga waktu mulai semua jepretan yang bergantung pada jepretan GNOME dan GTK, termasuk Chromium dan Thunderbird.

Seperti yang akan kami tunjukkan di bagian selanjutnya, hasilnya konsisten di seluruh distribusi, termasuk rasa lain dari Ubuntu, Fedora 36, ​​dan openSUSE Leap 15.4.

Kriteria baru

Perangkat uji: AMD Ryzen 5, 8 GB RAM, grafis Vega 8, 256 GB NVMe PCIe drive

Saat berjalan di Kubuntu 22.04, dengan gnome-3-38-2004 dan gtk-common-themes yang dikompresi dengan algoritme XZ, waktu boot dingin untuk browser Firefox rata-rata sekitar 15 detik. Dengan algoritma LZO, cold start dikurangi menjadi sekitar 6 detik. Itu sekitar 60% kemajuan. Demikian pula, pada openSUSE, waktu boot telah turun dari 13 detik menjadi 4 detik, peningkatan 70 persen.

Hasilnya konsisten untuk Thunderbird serta Chromium snap di mana waktu boot meningkat dari 12 detik dan 9 detik masing-masing menjadi 7 detik dan 5 detik. Ini merupakan peningkatan sekitar 42% dan 29%.

Di Fedora 36, ​​hasilnya cukup menarik, karena Fedora menggunakan konfigurasi kernel yang berbeda untuk menangani sistem file Squashfs (termasuk dekompresi). Pada contoh sistem di atas, Firefox membutuhkan waktu sekitar 5 detik. Dengan menggunakan algoritme LZO, waktu mulai dingin untuk Firefox, Thunderbird, dan Chromium sekarang masing-masing adalah 3 detik, 4 detik, dan 2 detik, yang sebanding dengan waktu mulai awal ~2 detik untuk program ini.

Perangkat uji: Raspberry Pi 400 dengan kartu SD

Raspberry Pi mewakili ujian terberat kami. Di sini, kami telah melihat waktu pemasangan baru turun dari 36 detik menjadi 17 detik saat menggunakan LZO dan perbaikan paket bahasa. Sekali lagi, itu adalah pengurangan 50% yang terhormat dalam waktu startup.

Kita tunggu part 4 nya

Meskipun kami telah membuat kemajuan yang signifikan selama beberapa minggu terakhir, kami sama sekali belum selesai dalam hal meningkatkan dan mengoptimalkan kinerja Startup Instan. Kami memiliki tiga jalan penelitian yang sedang berlangsung yang akan menjadi fokus dari dorongan kami berikutnya:

Memperbaiki kompresi CPU multi-utas

Saat ini, pada distribusi berbasis Ubuntu, kompresi Squashfs adalah single-threaded terlepas dari algoritma yang digunakan. Kami sedang menguji dekompresi CPU multi-utas dengan hasil awal yang menjanjikan.

Lihat bug pelacakan kami untuk informasi lebih lanjut.

Perangkat lunak rendering

Raspberry Pi memiliki masalah besar dengan Firefox tidak dapat mendeteksi GPU (atau tidak menggunakan akselerasi perangkat keras). Akibatnya, itu turun ke rendering perangkat lunak, yang secara signifikan memengaruhi kinerja. Ini tampaknya menjadi masalah khusus firefox dan terjadi untuk deb dan snap.

Masalah ini saat ini dengan Mozilla dan kami akan terus bekerja dengan mereka untuk mengidentifikasi masalah.

Pra-penyimpanan

Pra-caching biasanya mengacu pada proses di mana perangkat lunak mengantisipasi tindakan pengguna di masa depan dan secara proaktif mengunduh, menginstal, atau membuka file yang diperlukan sehingga mereka siap saat dipanggil. Ini juga dapat merujuk pada proses memuat data program dan pustaka ke dalam memori sebelum program benar-benar menggunakannya.

Ini adalah teknik yang banyak digunakan dalam berbagai jenis perangkat lunak. Situs web yang tertaut ke atau terkait dengan halaman yang sedang dikunjungi pengguna sebelum menyimpan video game untuk mencegah gangguan kinerja selama bermain game dan, yang terpenting, sistem operasi Anda, sebagai bagian dari desain dan operasi normalnya. , mereka menyimpannya terlebih dahulu. Cache sistem dan pustaka lingkungan desktop selama urutan boot.

Akibatnya, pra-caching berarti perangkat lunak lebih responsif saat pengguna berinteraksi dengannya, karena sistem membutuhkan lebih sedikit waktu untuk menemukan dan memuat aset yang diperlukan, tetapi dengan biaya startup yang lebih lama. ). Ini secara efektif memuat pekerjaan pemrosesan di depan.

Snap konten GNOME, yang banyak digunakan oleh berbagai aplikasi, harus menjadi kandidat yang baik untuk precaching, karena memberikan manfaat startup untuk semua snap desktop yang bergantung padanya. Kami sedang menguji kemungkinan ini untuk melihat pertukaran kinerja dari pendekatan semacam itu.

Bagikan kriteria Anda dengan kami

Kami ingin meminta Anda untuk membagikan tolok ukur terbaru Anda kepada kami sehingga kami dapat memvalidasi perbaikan ini secara native di berbagai perangkat keras dan rilis yang lebih luas, menciptakan landasan baru untuk peningkatan berkelanjutan.

Cara termudah untuk mencatat waktu startup adalah dengan menggunakan ekstensi GNOME, mengukur waktu startup program, dan mencatat waktu untuk tiga mode berikut:

  • Waktu mulai setelah instalasi Firefox yang benar-benar baru
  • Waktu mulai Firefox mulai setelah sistem di-boot ulang
  • Waktu mulai pada peluncuran Firefox berikutnya

Cara terbaik untuk melaporkannya adalah dengan memposting timeline Anda di “Masalah yang diketahui dengan Firefox Snap?” Pos. Jelaskan topik diskusi yang merinci versi yang Anda jalankan dan spesifikasi perangkat keras perangkat Anda.

Terima kasih atas kerja sama Anda yang berkelanjutan dengan perjalanan kami!

Kami akan segera kembali dengan pembaruan lainnya.



Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *