[R] R badly lags matlab on performance?
(Ted Harding)
Ted.Harding at manchester.ac.uk
Sat Jan 3 20:10:56 CET 2009
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.
--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 03-Jan-09 Time: 19:10:51
------------------------------ XFMail ------------------------------
More information about the R-help
mailing list