Total maximal size of data

Diez B. Roggisch deets at nospam.web.de
Mon Jan 25 22:31:49 CET 2010


Am 25.01.10 22:22, schrieb AlexM:
> On Jan 25, 2:42 pm, "Diez B. Roggisch"<de... at nospam.web.de>  wrote:
>> Am 25.01.10 21:15, schrieb AlexM:
>>
>>
>>
>>> On Jan 25, 2:03 pm, "Diez B. Roggisch"<de... at nospam.web.de>    wrote:
>>>> Am 25.01.10 20:39, schrieb AlexM:
>>
>>>>> On Jan 25, 1:23 pm, "Diez B. Roggisch"<de... at nospam.web.de>      wrote:
>>>>>> Am 25.01.10 20:05, schrieb Alexander Moibenko:
>>
>>>>>>> I have a simple question to which I could not find an answer.
>>>>>>> What is the total maximal size of list including size of its elements?
>>>>>>> I do not like to look into python source.
>>
>>>>>> But it would answer that question pretty fast. Because then you'd see
>>>>>> that all list-object-methods are defined in terms of Py_ssize_t, which
>>>>>> is an alias for ssize_t of your platform. 64bit that should be a 64bit long.
>>
>>>>>> Diez
>>
>>>>> Then how do explain the program output?
>>
>>>> What exactly? That after 3GB it ran out of memory? Because you don't
>>>> have 4GB memory available for processes.
>>
>>>> Diez
>>
>>> Did you see my posting?
>>> ....
>>> Here is what I get on 32-bit architecture:
>>> cat /proc/meminfo
>>> MemTotal:      8309860 kB
>>> MemFree:       5964888 kB
>>> Buffers:         84396 kB
>>> Cached:         865644 kB
>>> SwapCached:          0 kB
>>> .....
>>
>>> I have more than 5G in memory not speaking of swap space.
>>
>> Yes, I saw your posting. 32Bit is 32Bit. Do you know about PAE?
>>
>>     http://de.wikipedia.org/wiki/Physical_Address_Extension
>>
>> Just because the system can deal with more overall memory - one process
>> can't get more than 4 GB (or even less, through re-mapped memory).
>> Except it uses specific APIs like the old hi-mem-stuff under DOS.
>>
>> Diez
>
> Yes, I do. Good catch! I have PAE enabled, but I guess I have compiled
> python without extended memory. So I was looking in the wrong place.


You can't compile it with PAE. It's an extension that doesn't make sense 
in a general purpose language. It is used by Databases or some such, 
that can hold large structures in memory that don't need random access, 
but can cope with windowing.

Diez



More information about the Python-list mailing list