[python] Alokace pameti

Vlada Macek tuttle na sandbox.cz
Pátek Prosinec 26 02:03:50 CET 2008


slush wrote:
> Problem 1) Python si pro 10 mil. číselných záznamů naalokoval cca 160 MB.

    * Pro zmenseni naroku na kapacitu pouzijte tuple, generator nebo
      jiny prostredek (knihovnu) nebo jiny navrh vaseho programu.

    * Pro zrychleni s totoznym vysledkem pouzijte range(1e7).


> Problem 2) Po odalokovani klesla spotreba pameti na 120MB
Filosofie za tim je tato:

    * Programator chce hodne pameti? Dam mu ji, on asi vi, co dela.

    * Programator tu pamet uz nechce? Oznacim si ji tak.

    * Ale vracet ji OS by bylo neprozirave -- programator ji
      pravdepodobne bude znovu potrebovat a zadat OS o pamet je pomale.

    * Python podle vseho uprednostnuje rychlost pred pametovou
      efektivitou. V dnesni dobe si to IMHO muze dovolit.

Jestli se pamet uvolnena prikazem Pythonu vrati az OS, zalezi na rade
parametru. Viz napriklad:

http://effbot.org/pyfaq/why-doesnt-python-release-the-memory-when-i-delete-a-large-object.htm


-- 
\//\/\
http://macek.sandbox.cz
http://www.easis.cz

------------- další část ---------------
A non-text attachment was scrubbed...
Name: tuttle.vcf
Type: text/x-vcard
Size: 341 bytes
Desc: [žádný popis není k dispozici]
URL: <http://www.py.cz/pipermail/python/attachments/20081226/0ac4b535/attachment.vcf>


Další informace o konferenci Python