keyongtech


  keyongtech > python > 08/2008

 #31  
08-11-08, 09:55 AM
M8R-n7vorv
On Aug 10, 10:10 pm, Kris Kennaway <k> 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.

Dhananjay
 #32  
08-11-08, 10:09 AM
cokofreedom
On Aug 11, 10:55 am, M8R-n7v...@mailinator.com wrote:
> On Aug 10, 10:10 pm, Kris Kennaway <k> wrote:
>>

>
> 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.
>
> Dhananjay


And that is xrange, but if you need a list range is better :P
 #33  
08-11-08, 10:38 AM
Peter Otten
M8R-n7vorv wrote:

> On Aug 10, 10:10 pm, Kris Kennaway <k> wrote:
>
> 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.

For the cases where xrange() is an improvement over range() "Practicality
beats purity" applies. But you should really care more about the spirit
than the letter of the "zen".

Peter
 #34  
08-11-08, 11:21 AM
M8R-n7vorv
On Aug 11, 2:09 pm, cokofree...@gmail.com wrote:
> On Aug 11, 10:55 am, M8R-n7v...@mailinator.com wrote:
>>
>>
>>

>
> And that is xrange, but if you need a list range is better :P


Interesting to read from PEP-3000 : "Python 2.6 will support forward
compatibility in the following two ways:

* It will support a "Py3k warnings mode" which will warn
dynamically (i.e. at runtime) about features that will stop working in
Python 3.0, e.g. assuming that range() returns a list."
 #35  
08-11-08, 12:15 PM
Kris Kennaway
Peter Otten wrote:
> M8R-n7vorv wrote:
>> 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. Now think about
memory use. 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.

Kris
 #36  
08-11-08, 05:46 PM
Peter Otten
Kris Kennaway wrote:

> Peter Otten wrote:
>
> 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
 #37  
08-11-08, 06:07 PM
bearophileHUGS
Peter Otten:
> 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.


That good thing is that Python 3 has only xrange (named range), so
this discussion will be mostly over ;-)

Bye,
bearophile
 #38  
08-11-08, 06:17 PM
Kris Kennaway
Peter Otten wrote:
> Kris Kennaway wrote:
>> Yes, because my remark was made in the context of the particular benchmark

> supposed to be the topic of this thread.


No, you may notice that the above text has moved off onto another
discussion.

Kris

Similar Threads
help with Benchmark

Hi guys!! does any one know a page at microsoft.com or another site that has the time sql 2005 takes to insert a row ?? i saw at microsfot.com some benchmarks but based on...

IE7 Benchmark

Could someone with IE7 beta please run this benchmark and report the results here? [..]

benchmark

Is there a software benchmark test to quantify how good (or not so good) a computers overall performance is? In the DOS days, we used PCTOOLS. I don't see much chatter...

Benchmark

HI we are implementing a huge e-comerce project, i would like to know what is the bencmark for iis 6.0 performanc is there any link for benchmark , performance testing done...

The Manhattan Benchmark (spin-off from Benchmark Java vs. COBOL)

Steve Thompson mention the "Indian Problem" -- How much would 12.00 be today if it was put in the bank in 1626, when Manhattan was purchased? Benchmarking this simple logic...


All times are GMT. The time now is 07:59 AM. | Privacy Policy