speed of python vs matlab.
Chao
devincyu at gmail.com
Thu Dec 14 11:06:06 EST 2006
Thank you guys for your interest,
I tried two things 1) put code into a function 2) use psyco.
1) by putting them into a function, there is a significant improvement,
around 30%
the running time will be around 0.3sec
2) by using psyco, it really does a great job, the running time is
around 0.045sec.
While trying this another question comes up,
psyco seems to be able to optimize built-in functions & user's code, if
I call a function from an external library, it seems doesn't help.
A simple thing is I placed a = numpy.sin(a) in the loop rather than a =
a+1, in this case,
psyco doesn't have any improvement(or very little). if I put a =
math.sin(a) which is from an built-in function, it can achieve a
improvement around 3~4. Could the reason be that numpy.sin is
actually calling a C library ?
Actually Python does show comparable/better performance than other
scripting languages. but I'm just surprised that matlab does a great
job compared to python/perl, since matlab is also a interpreted
language, I'm expecting it has silimar performance with python.
I did some search, in previous discussion, people has compared
python/numpy vs matlab,
but it is actually comparison between numpy(which is implemented in c)
vs matlab.
Chao.
import psyco
#psyco.bind(functest)
psyco.full()
import numpy
import time,math
def functest(a):
array = xrange(1000)
for i in array:
for j in array:
a = a + 1
tic = time.time()
a = 1.0
functest(a)
toc = time.time()
print toc-tic,' has elapsed'
bearophileHUGS at lycos.com wrote:
> Chao, you can also try Psyco, applied on functions, and when necessary
> using its metaclass too.
>
> Bye,
> bearophile
More information about the Python-list
mailing list