[MacRuby-devel] Speed
Conrad Taylor
conradwt at gmail.com
Sun Nov 22 03:37:09 PST 2009
On Sun, Nov 22, 2009 at 1:25 AM, Uliano Guerrini
<uliano.guerrini at gmail.com>wrote:
> I'm new to Ruby BECAUSE of MacRuby
>
> While learning I run this simple exercise (the sum of even fibonacci less
> than 4 million) on both MacRuby 0.5.2 and ruby 1.9.1.
>
> the recursive version runs about 5 times faster on MacRuby and that was
> expected but the iterative runs about 1000!!! times slower, and that is
> *frankly* unacceptable.
>
> What's going on?
>
> uliano
>
> def fib_rec(n)
> n < 2 ? n : fib_rec(n-1) + fib_rec(n-2)
> end
>
>
> def fib_iter(limit)
> yield 0
> yield 1
> lastbut=0
> last=1
> while true
> a=lastbut+last
> if a<=limit
> yield a
> else
> return
> end
> lastbut=last
> last=a
> end
> end
>
>
> sum=0
> i=0
> start=Time.now
> while (f=fib_rec(i))<=4_000_000
> sum += f if f%2==0
> i+=1
> end
> time=Time.now-start
>
> puts 'recursive'
> puts 'sum = ',sum
> puts 'time = ',time
>
> sum=0
> start=Time.now
> fib_iter(4_000_000) { |f| sum+=f if f%2==0}
> time=Time.now-start
>
> puts 'iterative'
> puts 'sum = ',sum
> puts 'time = ',time
>
>
Uliano, what were you actual benchmarks and your system configuration?
-Conrad
_______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20091122/d1016094/attachment.html>
More information about the MacRuby-devel
mailing list