[Python-ideas] Length hinting and preallocation for container types

Daniel Holth dholth at gmail.com
Fri Mar 8 16:17:03 CET 2013


On Fri, Mar 8, 2013 at 10:02 AM, Stefan Behnel <stefan_ml at behnel.de> wrote:
> Daniel Holth, 08.03.2013 15:55:
>> On Fri, Mar 8, 2013 at 9:48 AM, Stefan Behnel wrote:
>>> Eli Bendersky, 08.03.2013 15:40:
>>>> On Fri, Mar 8, 2013 at 6:04 AM, Daniel Holth wrote:
>>>>> On Fri, Mar 8, 2013 at 8:35 AM, Antoine Pitrou wrote:
>>>>>> Le Fri, 8 Mar 2013 08:18:07 -0500,
>>>>>> Daniel Holth a écrit :
>>>>>>> I am a fan of the proposal. Imagine you are programming for a
>>>>>>> memory-constrained system. By telling the list how big it needs to be
>>>>>>> you can save precious RAM.
>>>>>>
>>>>>> Is it an actual use case or are you just imagining it? :)
>>>>>> I'm asking because, unless you are only allocating that list and all
>>>>>> the objects contained it in it already exist, limiting the list's size
>>>>>> won't do much for the process' memory occupation.
>>>>>
>>>>> It might help if it was a list of integers between -1 and 99 and
>>>>> 1-character strings.
>>>>
>>>> That's not what you should use lists for if memory consumption matters. Use
>>>> http://docs.python.org/dev/library/array.html, especially if your integers
>>>> are in such a limited range.
>>>
>>> Yep, and regarding the second part, a string is a very efficient way to
>>> store many 1-character strings.
>>
>> I do know C
>
> So do I. This thread is about Python, though. At least, that's what I think
> it is.

IIUC the JIT is smart enough to give me a very efficient list of
unboxed integers without having to change the type, increasing the
Pythonicity of my program.



More information about the Python-ideas mailing list