Chrome için performans, her zaman temel önceliklerden biri oldu ve bu alana yatırım yapmayı hiç bırakmadık. Diğer tarayıcılarla açık iş birliği içinde geliştirdiğimiz, herkesin erişimine açık test araçları, genel ilerlememizi takip etmemizi, yeni iyileştirme alanlarını belirlememizi ve potansiyel optimizasyonları doğrulamamızı sağlıyor. Bu haftaki “The Fast and the Curious” adlı yazımızda, Chrome’un Speedometer testinde bugüne kadarki en yüksek puanı almasını sağlayan çalışmalara değineceğiz.
Speedometer için yapılan bu optimizasyonlar, Ağustos 2024’ten bu yana %10’luk bir gelişim sağladı. Bu %10’luk iyileşme, kullanıcılar için daha hızlı tarayıcı deneyimi, işletmeler için daha yüksek dönüşüm oranları ve genel olarak web’in sunduğu içeriklerden daha fazla keyif alınması anlamına geliyor. Eğer her Chrome kullanıcısı tarayıcıyı günde sadece 10 dakika kullanırsa, bu gelişmeler toplamda 58 milyon saat ya da yaklaşık 83 insan ömrü kadar bir zaman tasarrufu sağlıyor.
Speedometer 3, Apple Macbook Pro M4 (MacOS 15) üzerinde ölçülmüştür
Speedometer, diğer tarayıcılarla ortaklaşa geliştirilen bir kıyaslama aracıdır ve web uygulamalarının tepki süresini ölçer. Bu test, Chrome’un kullandığı Blink işleme motorunun birçok farklı bileşenini kapsayan işlemleri içerir:
- HTML ayrıştırma
- JavaScript ve JSON işleme
- JavaScript ile DOM (Document Object Model) etkileşimi
- DOM üzerinde değişiklikler (öğe ekleme ve kaldırma)
- Yazı boyutu hesaplama (font şekillendirme)
- CSS (Cascading Style Sheet) uygulama ve yerleşim hesaplamaları
- Piksel işleme
Kısacası, Speedometer, tüm işleme hattının kritik bileşenlerini test eder. Bu bölümler hakkında daha fazla bilgi almak isteyenler için, Chrome University‘deki “Life of a Script” sunumunu öneriyoruz.
Üst düzey web performansı sağlamak çok yönlü bir yaklaşım gerektirir ve Speedometer için yapılan optimizasyonlar, ürünün genel kalitesinin bir göstergesidir. Son bir yılda, ekibimiz tüm işleme zinciri boyunca temel yolları iyileştirmeye odaklandı. İşte dikkat çeken bazı optimizasyon örnekleri:
- DOM, CSS, yerleşim ve boyama bileşenlerindeki birçok iç veri yapısının bellek düzeni büyük ölçüde optimize edildi. Blink, artık sistem belleğini gereksiz şekilde kullanmak yerine, CPU önbelleklerini en verimli şekilde kullanacak şekilde durumu yerinde tutuyor.
- Bellek yönetimi zaten Oilpan çöp toplayıcısıyla yapılan bileşenlerde (örneğin DOM), malloc kullanan türler de Oilpan’a taşındı. Bu da ilgili alanların hızlanmasını sağladı.
- Yazı işlemleri de önemli ölçüde gelişti. Gereksiz temsillerden kaçınıldı ve karma (hash) işlemleri rapidhash ile değiştirildi. Genel olarak birçok veri yapısı daha iyi filtreler, karma algoritmaları ve arama yöntemleri ile donatıldı.
- CSS stilleri gibi doğal olarak pahalı olan işleme işlemlerinde önbellekler artık daha etkili kullanılıyor. Gereksiz veriler daha az önbelleğe alınıyor. Ayrıca, font şekillendirme gibi metinle ilgili işlemlerde özellikle Apple Advanced Typography performansı ciddi anlamda artırıldı.