A Google letiltja a SegmentHeap funkciót a Chrome-ban a teljesítmény regressziója miatt

Olvasási idő ikonra 3 perc olvas


Az olvasók segítenek az MSpoweruser támogatásában. Kaphatunk jutalékot, ha a linkjeinken keresztül vásárol. Eszköztipp ikon

Olvassa el közzétételi oldalunkat, hogy megtudja, hogyan segítheti az MSPowerusert a szerkesztői csapat fenntartásában Tovább

Google Chrome

Májusban a Microsoft kiadta a Windows 10 2020. májusi frissítését a Windows 10 felhasználók számára. Az új frissítés a SegmentHeap-pel érkezett, amely lehetővé tette a Win32-alkalmazások számára, hogy javítsák a RAM-használatot. Nem sokkal a megjelenés után a Microsoft bejelentette, hogy az új funkció segítségével sikerült csökkentenie az Edge RAM-használatát.

Júniusban a Google is beugrott és bejelentés a SegmentHeap elemet fogja használni a Chrome jegyzékében, amely kijavítja a Chrome memóriazavaró viselkedését. A funkció később volt engedélyezve Chrome v85-ben, de további tesztelés után a Google előrement, és letiltotta a funkciót a Chrome-on. Google neves hogy a funkció teljesítménybeli problémákat okozott, ezért le van tiltva.

A https://chromium-review.googlesource.com/c/chromium/src/+/2163163 véglegesítéssel a Windows >= 10.0.19041.0 (Windows 10 2004-es és újabb verziói) a chrome.exe számára a szegmenshalom használatát választja. a hagyatékkupacból. Ez azonban a WebXPRT3, a Speedometer2 és a JetStream2 teljesítményének regressziójához vezetett.

A Microsoft viszont neves gyakori, hogy az alkalmazások egyik erőforrást a másikra cserélik, így a csökkentett memóriahasználat a CPU-használat növekedését jelentette. A Microsoft továbbá azt mondta, hogy néhány fejlesztést lehetne tenni a hatás csökkentése érdekében.

Általános gyakorlat, hogy egyik erőforrást a másikra cserélik. Gyakrabban a megnövekedett memóriahasználat a csökkentett CPU használat érdekében. Ebben az esetben megnövekedett CPU-használatról van szó, ami drámaian csökkenti a memóriahasználatot, vagy pontosabban véglegesít. Ha megnézted a Bruce által végrehajtott kötelezettséget, megtaláltad volna azt a hibát, amely miatt a szegmenshalmot használja, és ez 100%-ban többletköltség volt az alacsony töredezettségi kupac böngészőfolyamatokban való használatából.

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

Ennek ellenére van némi fejlesztés, amivel csökkenthető a hatás. Két területre oszlanak, de egyik sem könnyű.

1) Csökkentse a böngésző által végzett átmeneti kupackiosztások számát. Ez jelentős változtatásokat igényel a böngésző teljes kódbázisában.
2) Javítsa magának a szegmenshalom teljesítményét. Ezt csak a Windows csapata tudja megoldani, mi pedig vizsgáljuk a lehetőségeinket.

Rövid távon ez egy jó kompromisszum az egyik erőforrás és a másik között, mivel a memória/commit használat jelentős fájdalommal jár a böngésző felhasználók számára.

Sajnos tegnap este Google határozott a SegmentHeap letiltásához. A GN zászló mögé került, így a csapat folytathatja a kísérletezést a funkcióval, így ez még nem jelenti az út végét.

Alapértelmezés szerint tiltsa le a szegmenshalmot, és adjon hozzá egy GN jelzőt a vezérléshez.

Aggodalomra ad okot, hogy a szegmenshalom költsége nem indokolja a költségét (lásd a crbug.com/1102281 webhelyet). Ez a CL alapértelmezés szerint letiltja, és ezt a funkciót egy GN jelző mögé helyezi, hogy továbbra is kísérletezzünk vele.

Keresztül: Techdows

Bővebben a témákról: google, Google Chrome, Google Chrome Canary, szegmens kupac

Hagy egy Válaszol

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *