[MacRuby-devel] Speed
Matt Aimonetti
mattaimonetti at gmail.com
Sun Nov 22 18:22:32 PST 2009
To be significant, your test should have a higher reference value.
- Matt
On Sun, Nov 22, 2009 at 5:30 PM, Laurent Sansonetti
<lsansonetti at apple.com>wrote:
> Hi Uliano,
>
> Thanks for trying MacRuby.
>
> Vincent is right. Your second test is actually running too fast (0.008167
> seconds here) that most of the time is spent JIT compiling the block. Try to
> loop 10 times around the test and you should see that further calls are
> faster than Ruby 1.9.1. Or try to increase the test value.
>
> I don't believe this is unacceptable. JIT compilation is slow but here
> 0.008167 seconds are fast enough.
>
> Laurent
>
>
> On Nov 22, 2009, at 1:25 AM, Uliano Guerrini 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
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>
> _______________________________________________
> 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/9abe584d/attachment.html>
More information about the MacRuby-devel
mailing list