Hlavní navigace

Názor ke zprávičce Chrome pro Windows poprvé v 64 bitech (betaverze) od Milan Keršláger - Prohlížeč musí v paměti držet obrovské množství objektů...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 2. 8. 2014 11:37

    Milan Keršláger

    Prohlížeč musí v paměti držet obrovské množství objektů (elementy stránky), ať už v původní podobě (JPEG), připravené (dekomprivovaný JPEG), zpracované (změna měřítka obrázku), vyrenderovanou stránku (bitmapa přes několik obrazovek) a to pro všechny otevřené taby (plus spoustu metadat okolo). To je tak náročné a komplikované, že klasická správa paměti v OS (malloc) se nedá použít a prohlížeč tedy používá svoji vlastní (mezivrstva k malloc). Dělá to hodně programů. Na 32bitové architektuře je ve Windows k dispozici jen 2GB RAM na proces, když odečteme režii procesu, knihovny, zásobník atd., zůstane zhruba 1GB RAM. To je pro prohlížeč extrémně málo, a proto jeho interní správa paměti implementuje též vlastní odkládání na disk (což je další pěkná pakárna a musí to být navíc co nejrychlejší). Ladit takového správce paměti není žádná sranda a dodnes všechny prohlížeče trpí většími či menšími memoryleaky. A ve Windows je to ladění o to horší, že nejenže nemáte zdrojáky systému a jeho základních knihoven, ale nemůžete ani nalezené chyby opravit, což je pro vývojáře úplně nejhorší varianta (a nevíte, kterou chybu Microsoft v příští aktualizaci opraví nebo ještě více pomrví). Proto se nikomu dlouho nechtělo do tohodle bahna šlápnout a ráchat se v něm (a už se to dlouho testuje a ještě dlouho bude). Na 64bitovém systému je vše jednodušší, protože paměťového prostoru je mnohem více, než mizerné 1GB. Otázka však zní, zda přechod na 64bitů něco přinese uživateli v tom smyslu, že to novější řešení bude sice jednodušší (a laditelnější), ale bude zase plné nových chyb, které jsou už u stávajícího 32bitového řešení vychytané. Samozřejmě do té paměti se musí dle situace vejít i pluginy, JavaScriptový kód, jeho datové struktury atd.