[Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered (original) (raw)
Antoine Pitrou solipsis at pitrou.net
Thu Sep 15 09:46:40 EDT 2016
- Previous message (by thread): [Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered
- Next message (by thread): [Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 15 Sep 2016 07:08:50 -0600 Eric Snow <ericsnowcurrently at gmail.com> wrote:
On Sep 15, 2016 06:06, "Serhiy Storchaka" <storchaka at gmail.com> wrote: > Python 3.5: 10 loops, best of 3: 33.5 msec per loop > Python 3.6: 10 loops, best of 3: 37.5 msec per loop > > These results look surprisingly and inexplicably to me. I expected that even if there is some performance regression in the lookup or modifying operation, the iteration should not be slower.
My understanding is that the all-int-keys case is an outlier. This is due to how ints hash, resulting in fewer collisions and a mostly insertion-ordered hash table. Consequently, I'd expect the above microbenchmark to give roughly the same result between 3.5 and 3.6, which it did.
Dict iteration shouldn't have any dependence on collisions or insertion order. It's just a table scan, both in 3.5 and 3.6.
Regards
Antoine.
- Previous message (by thread): [Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered
- Next message (by thread): [Python-Dev] Python 3.6 dict becomes compact and gets a private version; and keywords become ordered
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]