On Fri, Jul 10, 2020 at 1:28 PM Ronald Oussoren <ronaldousso...@mac.com>
wrote:

>
>
> On 10 Jul 2020, at 14:08, Stestagg <stest...@gmail.com> wrote:
>
>
>> Adding indexing to views adds another requirement to the dict
>> implementation:
>>
>
> Yes, that's the proposed change
>
>
>> indexing for sequences at least suggests that access is O(1).
>>
> That makes it impossible to use, as an example, a linked list to preserve
>> insertion order.
>>
>
>  The docs for the Sequence abc explicitly talk about situations where
> index is not O(1), and say that while not ideal, this is valid (mentioning
> linked-lists by name).
>
>
> Its a quality of implementation issue.  A sequence where item access is
> not O(1) is not invalid, but surprising and likely to cause performance
> problems because users tend to expect that item access is O(1).
>

Yes, as the docs say.  But this has been raised a few times in the thread,
and it orthogonal to the 'we may want to make arbitrary changes to how
dicts work in the future' debate.

>
>
> The current existing `dict` implementation does not support O(1) index
> lookup from a view, (as discussed previously), so a change to linked-lists
> would not change this runtime O characteristic.
>
>
> The current views don’t support indexing at all, that’s the whole point of
> this thread.
>

The intent of my statement was: The current implementation of dict does not
allow any reasonable implementation of dict_keys/dict_values/dict_items
with O(1) index behaviour.  I.e. the performance scalability of any future
changes to the dict_* types that add direct indexing is *not* likely to be
adversely affected by changes to the implementation of dict(), unless
somehow iteration in O(n) time becomes impossible.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/XSPS3WEMETJGE2GKDIGJCEBBAKW5QMIN/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to