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 _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel