A faster R?
June 23, 2013
A little while ago Radford Neal noticed some inefficiencies in R, so he started working on ways to make it more efficient. He’s reached a bit of milestone in the last few days, with the release of pqR. Check it out…it looks really cool.
PS — Julia is a newish language that’s also threatening R (and MATLAB?) with its speed, though it will probably be a while before its infrastructure grows to the point to where it can really start competing with R.
7 Comments
leave one →
Kind of an interesting little sociological study here. Although Neal is avoiding controversy, it seems clear the tight-knit R inner core pretty much ignored Neal. Reading through the r-devel threads Neal gave all these improvements to core R back in 2010 and they adopted a few and ignored the rest, many of them pretty much on the basis of “I don’t like it” or “they’re unaesthetic”. Yet if the timing tests are to be believed pqR runs 50% faster (and as best I can tell that is with the changes R incorporated from Neal). By the time you’re talking 50% improvements, not-invented-here and “its unaesthetic” are pretty lame reasons to not do something.
It is interesting isn’t it? But I wouldn’t be so quick to dismiss R-core. Check out this recent response by Duncan Murdoch:
https://stat.ethz.ch/pipermail/r-devel/2013-June/066861.html
That sounds good, but as far as I can tell, this https://stat.ethz.ch/pipermail/r-devel/2010-September/058618.html was the only response for 3 years until the big PR step of releasing pqR happened.
Better late than never?
Thanks Steve, looks very interesting.
Question: have you implemented any of the parallel processing tools or possibilities in R (assuming you have a multi-core processor on your machine)? I tried (very cursorily) the other day, via the “foreach” package, but it appeared to be implementable only on Unix-like machines as far as I could tell. I do a lot of fairly complex looping on my Windows machine and that would help me, potentially a *lot*. But no go so far….
I figured it out; “foreach” requires another package “doParallel” which operates as a “parallel backend”, which I wasn’t aware of until just now finding this document:
Click to access gettingstartedParallel.pdf
And thank God because I’ve wasted far more than enough time trying to figure out how to load Linux OS onto my Windows 8 machine…
Thanks for the link Jim. Looks very useful.