> I didn't quite follow you here, I'm sorry. I was chatting with someone in > IRC a week back, and here's his theory. He says in languages such as Python > or Perl, almost all I/O, database etc are all optimized in C and hence there > should not be much of a difference when it comes to such programs. > > By that theory anything which's in Python that's written in C such as > adding, multiplyiig should work as fast as C. However that's not the case > as mentioned here > http://wiki.python.org/moin/PythonSpeed/PerformanceTips#PythonisnotC
C libraries are fast, python interpreter is not. If you are doing most of your work in a C library then your code will have comparable performance with C code. Thats why libraries like PIL, numpy as pretty fast. When you are doing multiplication in a loop, there is overhead for each python statement executed. A simple python statement "x = y + z" translates to something like this: tmp1 = locals['y'] tmp2 = locals['z'] tmp3 = tmp1 + tmp2 locals['x'] = tmp3 (this is pseudo code, not python) It has to look up y and z in locals dictionary, do the addition and put the result in locals dictionary back as x. The addition operation might be as fast as C, but there is a overhead of 2 dictionary lookups and one dictionary set. Jython compiler can compile Python code into Java. It will be worthwhile experience to experiment with it. Anand _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers