multiprocessing vs thread performance
Jarkko Torppa
torppa at staff.megabaud.fi
Mon Dec 29 11:30:42 EST 2008
On 2008-12-29, mk <mrkafk at gmail.com> wrote:
> janislaw wrote:
>
>> Ah, so there are 100 processes at time. 200secs still don't sound
>> strange.
>
> I ran the PEP 371 code on my system (Linux) on Python 2.6.1:
>
> Linux SLES (9.156.44.174) [15:18] root ~/tmp/src # ./run_benchmarks.py
> empty_func.py
>
> Importing empty_func
> Starting tests ...
> non_threaded (1 iters) 0.000005 seconds
> threaded (1 threads) 0.000235 seconds
> processes (1 procs) 0.002607 seconds
>
> non_threaded (2 iters) 0.000006 seconds
> threaded (2 threads) 0.000461 seconds
> processes (2 procs) 0.004514 seconds
>
> non_threaded (4 iters) 0.000008 seconds
> threaded (4 threads) 0.000897 seconds
> processes (4 procs) 0.008557 seconds
>
> non_threaded (8 iters) 0.000010 seconds
> threaded (8 threads) 0.001821 seconds
> processes (8 procs) 0.016950 seconds
>
> This is very different from PEP 371. It appears that the PEP 371 code
> was written on Mac OS X.
On the PEP371 it says "All benchmarks were run using the following:
Python 2.5.2 compiled on Gentoo Linux (kernel 2.6.18.6)"
On my iMac 2.3Ghz dualcore. python 2.6
iTaulu:src torppa$ python run_benchmarks.py empty_func.py
Importing empty_func
Starting tests ...
non_threaded (1 iters) 0.000002 seconds
threaded (1 threads) 0.000227 seconds
processes (1 procs) 0.002367 seconds
non_threaded (2 iters) 0.000003 seconds
threaded (2 threads) 0.000406 seconds
processes (2 procs) 0.003465 seconds
non_threaded (4 iters) 0.000004 seconds
threaded (4 threads) 0.000786 seconds
processes (4 procs) 0.006430 seconds
non_threaded (8 iters) 0.000006 seconds
threaded (8 threads) 0.001618 seconds
processes (8 procs) 0.012841 seconds
With python2.5 and pyProcessing-0.52
iTaulu:src torppa$ python2.5 run_benchmarks.py empty_func.py
Importing empty_func
Starting tests ...
non_threaded (1 iters) 0.000003 seconds
threaded (1 threads) 0.000143 seconds
processes (1 procs) 0.002794 seconds
non_threaded (2 iters) 0.000004 seconds
threaded (2 threads) 0.000277 seconds
processes (2 procs) 0.004046 seconds
non_threaded (4 iters) 0.000005 seconds
threaded (4 threads) 0.000598 seconds
processes (4 procs) 0.007816 seconds
non_threaded (8 iters) 0.000008 seconds
threaded (8 threads) 0.001173 seconds
processes (8 procs) 0.015504 seconds
--
Jarkko Torppa, Elisa
More information about the Python-list
mailing list