Adding a Par construct to Python?
Grant Edwards
grante at visi.com
Tue May 19 06:52:04 EDT 2009
On 2009-05-19, Steven D'Aprano <steven at REMOVE.THIS.cybersource.com.au> wrote:
> On Mon, 18 May 2009 02:27:06 -0700, jeremy wrote:
>
>> Let me clarify what I think par, pmap, pfilter and preduce would mean
>> and how they would be implemented.
> [...]
>
> Just for fun, I've implemented a parallel-map function, and done a couple
> of tests. Comments, criticism and improvements welcome!
My only comment would be that your "slow function" might not be
a very simulation for the general-case, since it uses
time.sleep() which releases the GIL:
> def f(arg): # Simulate a slow function.
> time.sleep(0.5)
> return 3*arg-2
Any Python function that isn't calling a library function
written in C that releases the GIL won't show any speedup will
it? I don't have a multi-core machine to try it on, but what
happens when you replace your "slow function" code with
something that actually burns CPU using pure-Python code
instead of blocking on a timer in the OS?
--
Grant
More information about the Python-list
mailing list