multiprocessing vs thread performance
mk
mrkafk at gmail.com
Mon Dec 29 10:29:43 EST 2008
Christian Heimes wrote:
> mk wrote:
>> Am I doing smth wrong in code below? Or do I have to use
>> multiprocessing.Pool to get any decent results?
>
> You have missed an important point. A well designed application does
> neither create so many threads nor processes.
Except I was not developing "well designed application" but writing the
test the goal of which was measuring the thread / process creation cost.
> The creation of a thread
> or forking of a process is an expensive operation.
Sure. The point is, how expensive? While still being relatively
expensive, it turns out that in Python creating a thread is much, much
cheaper than creating a process via multiprocessing on Linux, while this
seems to be not necessarily true on Mac OS X.
> You should use a pool
> of threads or processes.
Probably true, except, again, that was not quite the point of this
exercise..
> The limiting factor is not the creation time but the communication and
> synchronization overhead between multiple threads or processes.
Which I am probably going to test as well.
More information about the Python-list
mailing list