Google onemogućuje SegmentHeap na Chromeu zbog regresije performansi

Ikona vremena čitanja 3 min. čitati


Čitatelji pomažu pri podršci MSpoweruser. Možda ćemo dobiti proviziju ako kupujete putem naših veza. Ikona opisa alata

Pročitajte našu stranicu za otkrivanje kako biste saznali kako možete pomoći MSPoweruseru da održi urednički tim Čitaj više

Google Chrome

U svibnju je Microsoft izdao Windows 10 ažuriranje za svibanj 2020. za korisnike sustava Windows 10. Novo ažuriranje dolazi sa SegmentHeap-om koje je omogućilo Win32 aplikacijama da poboljšaju korištenje RAM-a. Ubrzo nakon objavljivanja, Microsoft je objavio da je uspio smanjiti upotrebu RAM-a na Edgeu pomoću nove značajke.

U lipnju je Google također uskočio u prednost i najavio koristit će SegmentHeap u Chromeovom manifestu koji će popraviti Chromeovo ponašanje preopterećenja memorije. Značajka je bila kasnije omogućeno u Chromeu v85, ali nakon daljnjeg testiranja, Google je nastavio i onemogućio tu značajku u Chromeu. Google primijetio da je značajka uzrokovala probleme s izvedbom i stoga je onemogućena.

S urezom https://chromium-review.googlesource.com/c/chromium/src/+/2163163, Windows >= 10.0.19041.0 (Windows 10 verzija 2004 i novije) će umjesto toga uključiti chrome.exe za korištenje hrpe segmenata gomile naslijeđa. Ali to je dovelo do regresije performansi za WebXPRT3, Speedometer2 i JetStream2.

Microsoft, s druge strane, primijetio da je uobičajeno da aplikacija mijenja jedan resurs za drugi pa je smanjena upotreba memorije značila povećanje korištenja CPU-a. Microsoft je nadalje rekao da bi se neka poboljšanja mogla učiniti kako bi se smanjio utjecaj.

Uobičajena je praksa mijenjati jedan resurs drugim. Češće je povećana upotreba memorije za smanjenu upotrebu CPU-a. U ovom slučaju to je povećana upotreba CPU-a za dramatično smanjenu upotrebu memorije, ili točnije predanje. Da ste pogledali urezivanje koje je Bruce napravio, otkrili biste grešku koja ga je navela da koristi hrpu segmenata, a to je 100% više od upotrebe hrpe niske fragmentacije u procesima preglednika.

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

Međutim, postoji određena poboljšanja koja se mogu učiniti kako bi se smanjio utjecaj. Spadaju u dva područja, ali nijedno nije lako.

1) Smanjite količinu privremenih dodjela hrpe koju preglednik vrši. To će zahtijevati značajne promjene u cijeloj bazi koda preglednika.
2) Poboljšajte izvedbu same hrpe segmenta. To može riješiti samo Windows tim i mi istražujemo naše mogućnosti.

Kratkoročno gledano, ovo je dobar kompromis između jednog resursa za drugi jer je upotreba memorije/uvjeta značajna bolna točka za korisnike preglednika.

Nažalost, sinoć Google odlučio da biste nastavili i onemogućili SegmentHeap. Premještena je iza GN zastavice kako bi tim mogao nastaviti eksperimentirati s ovom značajkom tako da nije kraj puta.

Onemogućite hrpu segmenata prema zadanim postavkama i dodajte GN zastavicu za kontrolu.

Postoji određena zabrinutost da cijena hrpe segmenta ne opravdava njezin trošak (vidi crbug.com/1102281). Ovaj CL ga onemogućuje prema zadanim postavkama i stavlja ovu značajku iza GN zastavice kako bismo mogli nastaviti eksperimentirati s njom.

Via: Techdows

Više o temama: google, Google Chrome, Google Chrome Kanari, hrpa segmenta

Ostavi odgovor

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena *