scaling problems

Carl Banks pavlovevidence at gmail.com
Mon May 19 22:40:55 EDT 2008


On May 19, 8:47 pm, James A. Donald <jam... at echeque.com> wrote:
> 1.  Looks to me that python will not scale to very large programs,
> partly because of the lack of static typing, but mostly because there
> is no distinction between creating a new variable and utilizing an
> existing variable, so the interpreter fails to catch typos and name
> collisions.

This factor is scale-neutral.  You can expect the number of such bugs
to be proportional to the lines of code.

It might not scale up well if you engage in poor programming practives
(for example, importing lots of unqualified globals with tiny,
undescriptive names directly into every module's namespace), but if
you do that you have worse problems than accidental name collisions.


> I am inclined to suspect that when a successful small
> python program turns into a large python program, it rapidly reaches
> ninety percent complete, and remains ninety percent complete forever.

Unlike most C++/Java/VB/Whatever programs which finish and ship, and
are never patched or improved or worked on ever again?


> 2.  It is not clear to me how a python web application scales.  Python
> is inherently single threaded,

No it isn't.

It has some limitations in threading, but many programs make good use
of threads nonetheless.  In fact for something like a web app Python's
threading limitations are relatively unimportant, since they tend to
be I/O-bound under heavy load.

[snip rest]


Carl Banks



More information about the Python-list mailing list