[R] R badly lags matlab on performance?
Wacek Kusnierczyk
Waclaw.Marcin.Kusnierczyk at idi.ntnu.no
Sat Jan 3 23:00:26 CET 2009
(Ted Harding) wrote:
> On 03-Jan-09 18:28:03, Ben Bolker wrote:
>
>> Ajay Shah <ajayshah <at> mayin.org> writes:
>>
>>> On Sat, Jan 03, 2009 at 06:59:29PM +0100, Stefan Grosse wrote:
>>>
>>>> On Sat, 3 Jan 2009 22:25:38 +0530 Ajay Shah <ajayshah <at>
>>>> mayin.org> wrote:
>>>>
>>>> AS> system.time(for (i in 1:10000000) {a[i] <- a[i] + 1})
>>>>
>>>> AS> I wonder what we're doing wrong!
>>>>
>>>> it is no secret that R does badly with loops. Thats why it is
>>>> recommended to use vectorized operations.
>>>>
>>> But there's a big difference even on the vectorised version: a <- a +
>>> 1. Why should that be? Both systems should merely be handing down to
>>> the BLAS. The (stock) R install has a less carefully setup BLAS as
>>> compared with the (stock) matlab install?
>>>
>> See my other message. I'm suspicious of the real size of
>> the difference, I think the difference could well be
>> noise. Also, this particular bit of arithmetic doesn't
>> involve BLAS -- see arithmetic.c (dig down until you get to
>> integer_binary) ...
>> Ben Bolker
>>
>
> I just ran Ajay's examples 3 times over:
> R 2.8.1 on Debian Etch using 1MB of RAM in a VirtualBox VM
> running on a 1.73GHz CPU. Results:
>
> user system elapsed
> Vector: 0.112 0.288 0.393
> Loop: 65.276 0.300 65.572
>
> Vector: 0.076 0.312 0.389
> Loop: 65.744 0.332 66.076
>
> Vector: 0.068 0.328 0.394
> Loop: 65.292 0.308 65.597
>
> Not dissimilar to Ajay's R times (though my loop was about 50% longer).
>
> However, all three runs were very similar -- a little noise,
> but not much!
>
> I don't have octave (on the same machine) to compare these with.
> And I don't have MatLab at all. So I can't provide a comparison
> on that front, I'm afraid.
> Ted.
>
>
on my machine, matlab and r perform as in to ajay's results, but octave
runs the for loop matlab code painfully slowly, worse than r.
vQ
More information about the R-help
mailing list