[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