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

Antoine Pitrou solipsis at pitrou.net
Fri Mar 8 16:15:28 CET 2013


Le Fri, 08 Mar 2013 16:02:01 +0100,
Stefan Behnel <stefan_ml at behnel.de> a
écrit :
> 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.

The way I read it, Daniel's message about small integers and
1-character strings was humorous. Obviously if you are
memory-constrained you have better things to do than accumulating many
one-character strings in a large Python list.

Regards

Antoine.





More information about the Python-ideas mailing list