Multiple instances of a python program

Rahul codedivine at gmail.com
Fri Jun 17 17:24:32 EDT 2005


Steven D'Aprano wrote:
> On Thu, 16 Jun 2005 11:47:10 -0700, Rahul wrote:
>
> > Hi.
> > I am part of a group in my univ where we organize a programming
> > contest. In this contest we have a UDP based server. The server
> > simulates a game and each contestant is to develop a team of virtual
> > players. Each team is composed of 75 similar bots...i.e. governed by
> > the same logic. Thus the contestant submits a single copy of the client
> > and we instantiate the same program 75 times at the same time.
> > The problem is that while executables from C source files are small and
> > we can make 75 processes but we dont know what to do with python.
> >
> > If you have a python script and you want that 75 copies of the script
> > be run simultaneously how will you do it? Is there anyway to do so
> > without running 75 copies of the python interpreter simultaneously?
>
> Have you actually tested the performance of 75 instances of Python
> running? Do you know that it will be too slow for your server, or are you
> trying to optimize before testing?
>
> I wrote a short Python script, then launched 115 instances of Python
> executing the script. There was no detectable slowdown of my system, which
> is far from a high-end PC.
>
> The details of the script aren't important. It may even be that what I
> tested is not even close to the load your server needs to deal with. But
> you may be surprised at just how easily even a low-end PC copes 75
> instances of Python. Or perhaps not -- but the only way to tell is to try.

Well...i havent tried (yes i hear "Premature optimization is evil evil
evil i say") but the point was that if we can find a solution consuming
less memory than we can even increase the number from 75 to lets say
200. as for hardware we have machines with 1.7 Ghz P4 and 128 mb ram.
and i cant run them right now...since i am currently not in my
univ...but asked now since we are planning right now and wanted to see
which languages we can support. Probably c,c++,python and lisp using
clisp...and java if we can find a way to avoid running 75 jvms...this
year we supported c,c++,java and actually ran 75 jvms using 3 machines
and it was horrible so we are looking for better ways for the 2006
contest. And we may port our server from java to python too but it
seems not many people had python installed but most had java installed.

rahul




More information about the Python-list mailing list