Raymond Hettinger wrote: > For those with an interest, here are some timing scorecards which track > the performance of dictionary iteration: > > > C:\python24\python timedictiter.py > 0.638557468278 keys() > 0.648748721903 values() > 2.97803432843 items() > 1.04057057611 list(d) > 1.19934712281 tuple(d) > 2.23167921018 for k in d.iterkeys(): pass > 2.2001936003 for v in d.itervalues(): pass > 4.07347675958 for k, v in d.iteritems(): pass > > C:\pydev>\python23\python timedictiter.py > 0.886520893746 keys() > 0.861855713304 values() > 3.44381233343 items() > 6.86479910827 list(d) > 2.48302854557 tuple(d) > 2.85350994821 for k in d.iterkeys(): pass > 2.8332120887 for v in d.itervalues(): pass > 6.70084312509 for k, v in d.iteritems(): pass > > C:\pydev>\python22\python timedictiter.py > 0.81167636065 keys() > 0.893352218441 values() > 2.99887443638 items() > 6.83444576677 list(d) > 2.48634656967 tuple(d) > 4.54763489163 for k in d.iterkeys(): pass > 4.53761544779 for v in d.itervalues(): pass > 7.77635645921 for k, v in d.iteritems(): pass > Interesting how items() slowed down between 2.2 and 2.3 but is now a sliver faster than 2.2 was. All very cool, Raymond. Cleaner code and faster to boot! Thanks for doing this. -Brett
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4