python simply not scaleable enough for google?

David Cournapeau cournape at gmail.com
Tue Nov 17 09:28:09 EST 2009


On Tue, Nov 17, 2009 at 10:48 PM, Aaron Watters <aaron.watters at gmail.com> wrote:
>
>> I don't think Python and Go address the same set of programmer
>> desires.  For example, Go has a static type system.  Some programmers
>> find static type systems to be useless or undesirable.  Others find
>> them extremely helpful and want to use them them.  If you're a
>> programmer who wants a static type system, you'll probably prefer Go
>> to Python, and vice versa.  That has nothing to do with implementation
>> speed or development expenditures.  If Google spent a million dollars
>> adding static types to Python, it wouldn't be Python any more.
>
> ... and I still have an issue with the whole "Python is slow"
> meme.  The reason NASA doesn't build a faster Python is because
> Python *when augmented with FORTRAN libraries that have been
> tested and optimized for decades and are worth billions of dollars
> and don't need to be rewritten* is very fast.

It is a bit odd to dismiss "python is slow" by saying that you can
extend it with fortran. One of the most significant point of python
IMO is its readability, even for people not familiar with it, and
that's important when doing scientific work. Relying on a lot of
compiled libraries goes against it.

I think that python with its scientific extensions is a fantastic
tool, but I would certainly not mind if it were ten times faster. In
particular, the significant cost of function calls makes it quickly
unusable for code which cannot be easily "vectorized" - we have to
resort to using C, etc... to circumvent this ATM.

Another point which has not been mentioned much, maybe because it is
obvious: it seems that it is possible to makes high level languages
quite fast, but doing so while keeping memory usage low is very
difficult. Incidentally, the same tradeoff appears when working with
vectorized code in numpy/scipy.

David



More information about the Python-list mailing list