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

Benjamin Peterson benjamin at python.org
Sun Jul 15 01🔞38 CEST 2012


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?

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.

-- Regards, Benjamin



More information about the Python-Dev mailing list