can multi-core improve single funciton?
Chris Rebert
clp2 at rebertia.com
Tue Feb 10 01:43:50 EST 2009
On Mon, Feb 9, 2009 at 10:28 PM, oyster <lepto.python at gmail.com> wrote:
> I mean this
> [code]
> def fib(n):
> if n<=1:
> return 1
> return fib(n-1)+fib(n-2)
>
> useCore(1)
> timeit(fib(500)) #this show 20 seconds
>
> useCore(2)
> timeit(fib(500)) #this show 10 seconds
> [/code]
>
> Is it possible?
>
> and more, can threads/multi-processors/clusters be used to improve fib?
Considering the GIL, I highly doubt it so. Also, the algorithm is
fundamentally linear -- each result depends on previous results -- so
I don't think you can easily parallelize it (if at all). You'd
probably get greater speedup using memoization.
Cheers,
Chris
--
Follow the path of the Iguana...
http://rebertia.com
More information about the Python-list
mailing list