« Return to Thread: An "R is slow"-article

Re: An "R is slow"-article

by Duncan Murdoch-2 :: Rate this Message:

Reply to Author | View in Thread

On 1/9/2008 10:25 AM, Gustaf Rydevik wrote:
> Hi all,
>
> Reading the wikipedia page on R, I stumbled across the following:
> http://fluff.info/blog/arch/00000172.htm
>
> It does seem interesting that the C execution is that much slower from
> R than from a native C program. Could any of the more technically
> knowledgeable people explain why this is so?

That conclusion isn't supported by his test. The main source of the
difference is interpreting the loop:

test_ct <- 10000
x       <- matrix(c(300, 860, 240, 380), nrow=2)
for (i in 1:test_ct)
     {fisher.test(x)}

If he wanted to show that R makes C go slower, he should have put
together an example that spent most of its time in C, without returning
to R 10000 times.  For example, make the entries in that table 1000
times larger, and do the test just once:

 > x       <- matrix(c(300000, 860000, 240000, 380000), nrow=2)
 > fisher.test(x)

This takes about 20 seconds on my PC, and I'd guess it would take about
the same amount of time in this author's pure C implementation.

My own experience is that R is about 100 times slower than pure C, and
usually it doesn't matter.  In cases where it does, I'll  move the
calculations into C.

If I followed Blair's advice and did everything in C, then development
would take much longer, the code would be much buggier (even his example
has bugs, and he admits it!!) and all those cases where R is fast enough
would just never get done.

Duncan Murdoch

>
> The author also have some thought-provoking opinions on R being
> no-good and that you should write everything in C instead (mainly
> because R is slow and too good at graphics, encouraging data
> snooping). See  http://fluff.info/blog/arch/00000041.htm
>  While I don't agree (granted, I can't really write C), it was
> interesting to read something from a very different perspective than
> I'm used to.
>
> Best regards,
>
> Gustaf
>
> _____
> Department of Epidemiology,
> Swedish Institute for Infectious Disease Control
> work email: gustaf.rydevik at smi dot ki dot se
> skype:gustaf_rydevik
>
> ______________________________________________
> R-help@... mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@... mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

 « Return to Thread: An "R is slow"-article