On 6/11/15 1:39 PM, Dolph Mathews wrote:

On Thu, Jun 11, 2015 at 12:34 AM, Robert Collins <robe...@robertcollins.net <mailto:robe...@robertcollins.net>> wrote:

    On 11 June 2015 at 17:16, Robert Collins
    <robe...@robertcollins.net <mailto:robe...@robertcollins.net>> wrote:

    > This test conflates setup and execution. Better like my example,
    ...

    Just had it pointed out to me that I've let my inner asshole out again
    - sorry. I'm going to step away from the thread for a bit; my personal
    state (daughter just had a routine but painful operation) shouldn't be
    taken out on other folk, however indirectly.


Ha, no worries. You are completely correct about conflating setup and execution. As far as I can tell though, even if I isolate the dict setup from the benchmark, I get the same relative differences in results. iteritems() was introduced for a reason!

If you don't need to go back to .items()'s copy behavior in py2, then six.iteritems() seems to be the best general purpose choice.
I am firmly in the "let's use items()" camp. A 100 ms difference for a totally not-real-world case of a dictionary 1M items in size is no kind of rationale for the Openstack project - if someone has a dictionary that's 1M objects in size, or even 100K, that's a bug in and of itself.

the real benchmarks we should be using, if we are to even bother at all (which we shouldn't), is to observe if items() vs. iteritems() has *any* difference that is at all measurable in terms of the overall execution of real-world openstack use cases. These nano-differences in speed are immediately dwarfed by all those operations surrounding them long before we even get to the level of RPC overhead.




I think Gordon said it best elsewhere in this thread:

> again, i just want to reiterate, i'm not saying don't use items(), i just think we should not blindly use items() just as we shouldn't blindly use iteritems()/viewitems()
If a demonstrable difference can be established in terms of real-world use cases for code that is using iteritems() vs. items(), then you can justify this difference. Otherwise, not worth it.





    -Rob

    --
    Robert Collins <rbtcoll...@hp.com <mailto:rbtcoll...@hp.com>>
    Distinguished Technologist
    HP Converged Cloud

    __________________________________________________________________________
    OpenStack Development Mailing List (not for usage questions)
    Unsubscribe:
    openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
    <http://openstack-dev-requ...@lists.openstack.org?subject:unsubscribe>
    http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to