SoftEU

Firefox a fragmentace paměti

Autor: Petr Ferschmann

Nedávno jsem narazil na článek Memory fragmentation, zabývající se jedním z důvodů vysoké náročnosti firefoxu na paměť – tímto důvodem je fragmentace paměti.

Vždycky se tvrdívalo, že Java je pomalá a paměťově nenažraná. Aplikace napsané v Javě ovšem fragmentací paměti netrpí právě díky použití kopírovacího garbage collectoru, který vždy používaná data “sesype” na začátek přidělené paměti.

Navíc si k tomuto problému přidejte fakt, že části paměti firefoxu spravují pomocí reference countingu. Reference counting je obvykle pomalejší (díky zamykání a zvyšování reference, i když i s tím se dá poprat), paměťově náročnější a navíc trpí problémy s cyklickými závislostmi.

Člověka tak napadne, že možná nastál čas pro použití garbage collectoru podobnému tomu v Javě …

1 Hvězdička2 Hvězdičky3 Hvězdičky4 Hvězdičky5 Hvězdiček
Načítám ... Načítám ...

4 komentářů k článku “Firefox a fragmentace paměti”

  1. lzap říká:

    A bude hůř. Stránky jsou čím dál tím víc složitější, obsahu je víc a paměť je levnější a levnější…

  2. optik říká:

    Pochybuju, že někdo ty mraku C++ kódu bude předělávat na něco jiného než je to teď. Navíc by to chtělo nějaký benchmark, který GC je asi lepší, podle mě je nějpší GC v C++ zásobník, ale s tím si asi FF nevystačí

  3. Pawell říká:

    Bude a zhruba jiz pul roku se na tom usilovne pracuje v Mozilla 2 (Gecko 2) strome ;)

    http://wiki.mozilla.org/XPCOMGC

    Dalsi zajimavosti je ze spousta veci ma byt prepsana (do JS) a bezet tak ve virtualni masine Tamarin

    http://wiki.mozilla.org/Tamarin

  4. Adam Hauner říká:

    I fragmentace se řeší:
    http://blog.pavlov.net/2007/11/21/malloc-replacements/

Zanechte komentář


Switch to our mobile site