Am 28.01.10 22:12, schrieb Yingjie Lan:
We all know that Python is dynamically typed, and dynamically typed languages 
are generally slower than statically typed ones. I wonder if it is possible at 
all for Python to mix statically-typed-ness with dynamically-typed-ness to 
boost up its speed a little bit, especially when speed is needed. For example, 
you define a function like this:

def speed(float dist, float time):
     return dist/time

then the compiler would generate code to first check parameter types (or even 
do some casts if appropriate, say cast an int into float) in the beginning of 
this function. and the rest of the function would then be compiled with the 
assumption that 'dist' and 'time' are of the type float.

Of course, dynamically-typed-ness is still the same as before. Python is well 
known for providing multiple programming paradigms, I wonder if we could also 
sneak this in nicely.

There are various attempts to achieve this.

The most generic one, which is most promising in the long run is PyPy, the implementation of Python in itself, with the added benefit of making code-generators that emit e.g. C based on Python-code.

Then there is Cython, which blends Python with C & integrates very nicely.

Last but not least, for you actual example, psyco is the easiest thing to use, it's a JIT aimed to especially optimize numeric operations as the one you present.

Diez
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to