Google, performans gerilemesi nedeniyle Chrome'da SegmentHeap'i devre dışı bırakır

Okuma zamanı simgesi 3 dk. okuman


Okuyucular MSpoweruser'ı desteklemeye yardımcı olur. Bağlantılarımız aracılığıyla satın alırsanız komisyon alabiliriz. Araç İpucu Simgesi

MSPoweruser'ın editör ekibini ayakta tutmasına nasıl yardımcı olabileceğinizi öğrenmek için açıklama sayfamızı okuyun. Daha fazla

Google Chrome

Mayıs ayında Microsoft, Windows 10 kullanıcıları için Windows 2020 Mayıs 10 Güncelleştirmesini yayınladı. Yeni güncelleme, Win32 uygulamalarının RAM kullanımını iyileştirmesine izin veren SegmentHeap ile geldi. Piyasaya sürüldükten kısa bir süre sonra Microsoft, yeni özelliği kullanarak Edge'deki RAM kullanımını azaltmayı başardığını duyurdu.

Haziran ayında Google da çoğunluğa katıldı ve açıkladı Chrome'un bildiriminde, Chrome'un bellek bekleme davranışını düzeltecek olan SegmentHeap'i kullanacak. Özellik daha sonra etkin Chrome v85'te ancak daha fazla testten sonra Google, Chrome'daki özelliği devre dışı bıraktı ve devre dışı bıraktı. Google ünlü özelliğin performans sorunlarına neden olduğunu ve bu nedenle devre dışı bırakıldığını.

https://chromium-review.googlesource.com/c/chromium/src/+/2163163 indi, Windows >= 10.0.19041.0 (Windows 10 sürüm 2004 ve üstü) chrome.exe'yi bunun yerine segment yığınını kullanmayı seçer miras yığınından. Ancak bu, WebXPRT3, Speedometer2 ve JetStream2 için performans gerilemesine yol açtı.

Öte yandan Microsoft, ünlü Bir uygulamanın bir kaynağı başka bir kaynakla takas etmesi yaygın olduğundan, bellek kullanımının azalması CPU kullanımında bir artış anlamına geliyordu. Microsoft ayrıca, etkiyi azaltmak için bazı iyileştirmelerin yapılabileceğini söyledi.

Bir kaynağı diğeriyle takas etmek yaygın bir uygulamadır. Daha sık olarak, azaltılmış CPU kullanımı için artan bellek kullanımıdır. Bu durumda, önemli ölçüde azaltılmış bellek kullanımı veya daha doğru bir şekilde işleme için CPU kullanımı artırılır. Bruce'un yaptığı taahhüde baksaydınız, onu segment yığınını kullanmaya yönlendiren hatayı bulurdunuz ve bu, tarayıcı işlemlerinde düşük parçalanma yığınının kullanılmasından kaynaklanan %100 bir ek yüktü.

https://bugs.chromium.org/p/chromium/issues/detail?id=1014701#c9

Bununla birlikte, etkiyi azaltmak için yapılabilecek bazı iyileştirmeler var. İki alana ayrılırlar, ancak ikisi de kolay değildir.

1) Tarayıcının yaptığı geçici yığın ayırma miktarını azaltın. Bu, tüm tarayıcı kod tabanında önemli değişiklikler gerektirecektir.
2) Segment yığınının performansını iyileştirin. Bu, yalnızca Windows ekibi tarafından ele alınabilir ve seçeneklerimizi araştırıyoruz.

Kısa vadede bu, bir kaynağın diğeri için iyi bir değiş tokuşudur, çünkü bellek/taahhüt kullanımı tarayıcı kullanıcıları için önemli bir sıkıntı noktasıdır.

Ne yazık ki, dün gece Google karar devam etmek ve SegmentHeap'i devre dışı bırakmak için. Takımın özelliği denemeye devam edebilmesi için bir GN bayrağının arkasına taşındı, böylece yolun sonu değil.

Segment yığınını varsayılan olarak devre dışı bırakın ve kontrol etmek için bir GN bayrağı ekleyin.

Segment yığınının maliyetinin, maliyetini haklı çıkarmadığına dair bazı endişeler var (bkz. crbug.com/1102281). Bu CL onu varsayılan olarak devre dışı bırakır ve denemeye devam etmemize izin vermek için bu özelliği bir GN bayrağının arkasına koyar.

Via Techdows

Konular hakkında daha fazla bilgi: google, Google Chrome, Google Chrome Kanarya, segment yığını

Yorum bırak

E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlenmişlerdir. *