[Python-Dev] PEP 0424: A method for exposing a length hint
Alex Gaynor
alex.gaynor at gmail.com
Sun Jul 15 01:21:45 CEST 2012
More information about the Python-Dev mailing list
Sun Jul 15 01:21:45 CEST 2012
- Previous message: [Python-Dev] PEP 0424: A method for exposing a length hint
- Next message: [Python-Dev] PEP 0424: A method for exposing a length hint
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sat, Jul 14, 2012 at 4:18 PM, Benjamin Peterson <benjamin at python.org>wrote: > 2012/7/14 Alex Gaynor <alex.gaynor at gmail.com>: > > > > Proposal > > ======== > > > > This PEP proposes formally documenting ``__length_hint__`` for other > > interpreter and non-standard library Python to implement. > > > > ``__length_hint__`` must return an integer, and is not required to be > accurate. > > It may return a value that is either larger or smaller than the actual > size of > > the container. It may raise a ``TypeError`` if a specific instance > cannot have > > its length estimated. It may not return a negative value. > > And what happens if you return a negative value? > > ValueError, the same as with len. > > > > Rationale > > ========= > > > > Being able to pre-allocate lists based on the expected size, as > estimated by > > ``__length_hint__``, can be a significant optimization. CPython has been > > observed to run some code faster than PyPy, purely because of this > optimization > > being present. > > > > Open questions > > ============== > > > > There are two open questions for this PEP: > > > > * Should ``list`` expose a kwarg in it's constructor for supplying a > length > > hint. > > * Should a function be added either to ``builtins`` or some other module > which > > calls ``__length_hint__``, like ``builtins.len`` calls ``__len__``. > > Let's try to keep this as limited as possible for a public API. > > Sounds reasonable to me! Should we just go ahead and strip those out now? > > -- > Regards, > Benjamin > Alex -- "I disapprove of what you say, but I will defend to the death your right to say it." -- Evelyn Beatrice Hall (summarizing Voltaire) "The people's good is the highest law." -- Cicero -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20120714/c8cfb6d7/attachment.html>
- Previous message: [Python-Dev] PEP 0424: A method for exposing a length hint
- Next message: [Python-Dev] PEP 0424: A method for exposing a length hint
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list