Hlavní navigace

Google optimalizoval V8. Chrome díky tomu spotřebuje méně paměti

11. 10. 2016

Sdílet

 Autor: Redakce

Google se pustil do podzimního úklidu a těžit z toho bude Chrome. Umlčí nářky nad tím, že je prohlížeč v současnosti zbytečně velký, náročný a pomalý? Chrome je s námi již osmým rokem a to stejné platí pro otevřené javascriptové jádro V8, jež bylo v souvislosti s projektem představeno. Právě to podlehlo optimalizacím s cílem snížit paměťovou náročnost operací, kde hraje roli JavaScript. Moderní web je ho ovšem plný.

Správa paměti na levných mobilech

Proces nazvaný garbage collection může způsobovat viditelné
zasekávání. Nemusí být tak často opakován, je to pak ale na úkor zvýšeného
využití paměti – obsah se déle odkládá, aby se s ním nemuselo pracovat. Garbage
collection tedy uvolňuje již nevyužívanou paměť. Jenže Chrome běží také na mobilech,
které nejsou obdařeny velkým objemem operační paměti. Právě mobilů s relativně
nízkou kapacitou paměti není zatím úplně málo.

Proto bude V8 chytřejší a na takových zařízeních zváží,
kdy zahájit uvolňování paměti. Pokud bude paměti nedostatek, jednoduše řečeno bude uvolňování probíhat častěji. Fragmentaci
paměti bude bránit agresivnější politika
pro kompresi
. To se tedy týká mobilů s nízkou kapacitou operační
paměti.

Srovnání stavu před a po provedení optimalizacích cílených na levné mobily
Srovnání stavu před a po provedení optimalizacích cílených na levné mobily | Zdroj: Google

Optimalizace pro všechna zařízení

I na počítačích a výkonnějších mobilech bude pomáhat snížení velikosti částí programu v paměti
z 1 MB na 512KB. Díky tomu se sníží fragmentace a paměťová náročnost.
Je i možné díky paralelnímu zpracování menší bloky zpracovávat souběžně a reálně
tak optimalizace zrychlit. Google se dále zaměřil na tzv. zóny. Skrze zóny jsou
alokovány největší bloky programu.

Používají se tedy pro operace většího rozsahu, přičemž se
paměť uvolní až jako celek, když zóna zanikne. Když přeskočím k výsledku,
zóny nově zanikají dříve (hned po kompilaci, nedochází ke zbytečnému
protahování čekání na uvolnění), což znovu vede k nižšímu využití operační paměti. I další provedená optimalizace
vede ke snížení paměti, rovněž však i ke zlepšení
výkonu kompilátoru a parseru
.

Srovnání maximálního využití paměti před a po provedení optimalizacích ve Chromu na počítačích
Srovnání maximálního využití paměti před a po provedení optimalizacích ve Chromu na počítačích | Zdroj: Google

ICTS24

Skrze grafy nám Google říká, o kolik se situace
zlepšila, aspoň při prohlížení populárních webů. V případě mobilních
zařízení s kapacitou paměti do 512 MB byla spotřeba paměti
Chromu 55 snížena až o 35 %. Další zařízení, jak bylo uvedeno
výše, netěží ze všech optimalizací, byť z dobrého důvodu. V jejich případech
není úspora vyčíslena, napovídá nám však druhý graf. Práce na optimalizacích budou
pokračovat, především se Google zaměří na zařízení s 512 MB až
1 GB paměti.

Zdroj: V8
JavaScript Engine