can multi-core improve single funciton?
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Thu Feb 19 03:54:45 EST 2009
En Wed, 18 Feb 2009 23:36:25 -0200, sturlamolden <sturlamolden at yahoo.no>
escribió:
> On Feb 10, 7:28 am, oyster <lepto.pyt... at gmail.com> wrote:
> Let's rewrite that slightly and see...
>
> def fib(n, _map=None):
> if not _map: _map = map
> if n > 2:
> return sum(_map(fib, (n-1, n-2)))
> else:
> return 1
>
>
> With two cores:
>
> E:\>python fibotest.py
> parallel t: 31.300226 seconds
> sequential t: 48.070695 seconds
>
>
> Yes it can!
Are you kidding?
This is like building a house one brick at a time, but before placing a
new brick, you throw all the previous work and start again from start.
Certainly two workers would help more than one - but the best way to do it
is *NOT* to repeat all that additional work over and over in the first
place.
Even my Pentium I MMX 233MHz can compute fib(36) thousand of times faster
than that with the right algorithm. So I don't see the point in
parallelizing if you're going to get infinitely worse results...
--
Gabriel Genellina
More information about the Python-list
mailing list