Python 2 times slower than Perl
bokr at accessone.com
Wed Jul 18 07:15:48 CEST 2001
On Tue, 17 Jul 2001 17:17:09 -0500, Skip Montanaro <skip at pobox.com> wrote:
> Christopher> I can't speak for Perl, but Python definately does not
> Christopher> evaluate the expression at compile time. This is a problem
> Christopher> I've had with Python. I wish that when given the -O option
> Christopher> the compiler would do constant subexpression elimination.
>It's rare in normal Python code to actually see a constant expression
>computed inside a loop. Fortunately, it would appear most folks aren't that
>dumb, so while you can take steps to eliminate them, there aren't generally
>going to be very many to eliminate.
Well rare, but not always dumb, I think. If you're only using a constant in one
place that happens to be in a loop, and the clearest way to express it is
as a constant expresssion, you do it that way when you know it's going to be
folded. E.g., compare (5280.0/60.0*60.0) vs 1.4666667 -- which would you feel
surer about, reviewing the code, given the same comment saying mph->fps?
Of course, with Python it would be dumb not to move it out of the loop, if
you could save significant execution time.
More information about the Python-list