[Python-Dev] PEP 0424: A method for exposing a length hint (original) (raw)

Alex Gaynor alex.gaynor at gmail.com
Sun Jul 15 01:21:45 CEST 2012


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 _lengthhint_ for other > interpreter and non-standard library Python to implement. > > _lengthhint_ 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 > _lengthhint_, 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 _lengthhint_, 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>



More information about the Python-Dev mailing list