Kris Kennaway wrote: > Peter Otten wrote: >> [EMAIL PROTECTED] wrote: >> >>> On Aug 10, 10:10 pm, Kris Kennaway <[EMAIL PROTECTED]> wrote: >>>> jlist wrote: >>>>> I think what makes more sense is to compare the code one most >>>>> typically writes. In my case, I always use range() and never use >>>>> psyco. But I guess for most of my work with Python performance hasn't >>>>> been a issue. I haven't got to write any large systems with Python >>>>> yet, where performance starts to matter. >>>> Hopefully when you do you will improve your programming practices to >>>> not make poor choices - there are few excuses for not using xrange ;) >>>> >>>> Kris >>> And can you shed some light on how that relates with one of the zens >>> of python ? >>> >>> There should be one-- and preferably only one --obvious way to do it. >> >> For the record, the impact of range() versus xrange() is negligable -- on >> my machine the xrange() variant even runs a tad slower. So it's not clear >> whether Kris actually knows what he's doing. > > You are only thinking in terms of execution speed.
Yes, because my remark was made in the context of the particular benchmark supposed to be the topic of this thread. > Now think about memory use. Now you are moving the goal posts, But still, try to increase the chain length. I guess you'll find that the impact of range() -- in Chain.__init__() at least -- on the memory footprint is also negligable because the Person objects consume much more memory than the tempory list. > Using iterators instead of constructing lists is something > that needs to permeate your thinking about python or you will forever be > writing code that wastes memory, sometimes to a large extent. I like and use an iterator/generator/itertools-based idiom myself, but for "small" sequences lists are quite competitive, and the notion of what a small list might be is constantly growing. In general I think that if you want to promote a particular coding style you should pick an example where you can demonstrate actual benefits. Peter -- http://mail.python.org/mailman/listinfo/python-list