multiprocessing vs thread performance
James Mills
prologic at shortcircuit.net.au
Wed Dec 31 01:52:57 CET 2008
On Wed, Dec 31, 2008 at 8:42 AM, James Mills
<prologic at shortcircuit.net.au> wrote:
(snip)
> As I continue to develop circuits and improve it's
> core design as well as building it's ever growing set
> of Components, I try to keep it as general as
> possible - my main aim though is distributed
> processing and architectures. (See the primes example).
Aaron, just wanted to demonstrate
to you the example (primes) that I mentioned
above:
On Terminal A:
jmills at atomant:~/circuits/examples$ ./primes.py -o primes.txt -b
127.0.0.1:8000 -p 1000 -w
Total Primes: 1001 (23/s after 44.16s)
Total Events: 43373 (983/s after 44.16s)
Distribution:
c1096b40-7606-4ba7-9593-1385e14ef339: 348
8313b43f-d45d-4a0a-8d87-e6a93d3dfb0b: 653
On Terminal B:
jmills at atomant:~/other/circuits/examples$ ./primes.py -b
127.0.0.1:8001 -s 127.0.0.1:8000
The example uses circuits to distribute work
amongst any arbitrary number of nodes connected
to the system. This is all manually implemented
by simply taking advantage of the circuits framework
with my basic understanding ( so far ) of distributed
processing, virtual synchrony, and other techniques.
This is the same thing just run on a single node (no
distribution):
jmills at atomant:~/circuits/examples$ ./primes.py -o primes.txt -b
127.0.0.1:8000 -p 1000
Total Primes: 1001 (17/s after 62.13s)
Total Events: 28579 (460/s after 62.13s)
Distribution:
701be749-9833-40a4-9181-5ee18047b1ad: 1001
As you can see, running 2 instances almost halves
the time. If you do try this though, you'll note that
the CPU isn't being used very heavily at all - This
could be improved - but the example merely
demonstrates distributed event processing and
syncronization.
cheers
James
More information about the Python-list
mailing list