How your company think about python?

Roy Smith roy at panix.com
Sun Aug 18 16:18:48 EDT 2002


d2002xx <d2002xx at myrealbox.com> wrote:
> Would you detail why they think that python can't develop real
> applications? (I know it's slow but...)

Yes, python is slow, but that doesn't have to mean that applications 
written in python have to be slow.

I won't name any names, but I'm currently involved with a commercial 
application written in C and C++, which has been shipping for several 
years.  Poor performance at a customer site led the development team to 
re-examine the code a while ago and it was discovered that the rate 
limiting step was a O(N^2) list insertion step.   The code was filled 
with all sorts of little efficiency hacks to bum a CPU cycle here or 
there, but the overall algorithm was quadratic, and for large inputs, 
that's all that mattered.

It's not hard to imagine that had the application been written in 
python, the list insertion step would have been done using dictionaries.  
I'm not sure how dictionaries work, but I'm guessing they're O(logN).  
Slower language (by pure benchmark numbers), but faster application.

Sure, the C code could have used a better insertion algorithm, but that 
would have meant writing a bunch of code (an investment in time which 
apparantly the original author didn't consider worthwhile).  Python 
gives you the better algorithm for free.  To be fair, if the code had 
been written today, it probably would have taken advantage of STL and 
gotten the same advantage.

The moral of the story is that it really doesn't make a lot of sense to 
talk about benchmark performance of languages in isolation of all the 
other things that go into the full life-cycle cost of an application.



More information about the Python-list mailing list