Articles by Radford Neal

New version of pqR, now with task merging

January 1, 2014 | Radford Neal

 I’ve now released pqR-2013-12-29, a new version of my speedier implementation of R.  There’s a new website,, as well, and a new logo, seen here. The big improvement in this version is that vector operations are sped up using task merging. With task merging, ... [Read more...]

Deferred evaluation in Renjin, Riposte, and pqR

July 24, 2013 | Radford Neal

The previously sleepy world of R implementation is waking up.  Shortly after I announced pqR, my “pretty quick” implementation of R, the Renjin implementation was announced at UserR! 2013.  Work also proceeds on Riposte, with release planned for a year from now. These three implementations differ greatly in some respects, but ... [Read more...]

How pqR makes programs faster by not doing things

June 30, 2013 | Radford Neal

One way my faster version of R, called pqR (see updated release of 2013-06-28), can speed up R programs is by not even doing some operations. This happens in statements like for (i in 1:1000000) ..., in subscripting expressions like v[i:1000], and in logical expressions like any(v__0) or all(... [Read more...]

Parallel computation with helper threads in pqR

June 23, 2013 | Radford Neal

One innovative feature of pqR (my new, faster, version of R), is that it can perform some numeric computations in “helper” threads, in parallel with other such numeric computations, and with interpretive operations performed in the “master” thread. This can potentially speed up your computations by a factor as large ... [Read more...]

Announcing pqR: A faster version of R

June 22, 2013 | Radford Neal

pqR — a “pretty quick” version of R — is now available to be downloaded, built, and installed on Linux/Unix systems. This version of R is based on R-2.15.0, but with many performance improvements, as well as some bug fixes and new features. Notable improvements in pqR include: Multiple processor cores ... [Read more...]

GRIMS — General R Interface for Markov Sampling

June 25, 2011 | Radford Neal

I have released a (very) preliminary version of my new MCMC software in R, which I’m calling GRIMS, for General R Interface for Markov Sampling. You can get it here. This software differs from other more-or-less general MCMC packages in several respects, all but one of which make it, ... [Read more...]

Two textbooks on probability using R

June 18, 2011 | Radford Neal

This fall, I’ll be teaching a second-year course on Probability with Computer Applications, which is required for Computer Science majors.  I’ve taught this before, but that was five years ago, so I’ve been looking to see what new textbooks would be suitable.  The course aims not just ... [Read more...]

New patches to speed up R 2.13.0

June 9, 2011 | Radford Neal

I have now released a new collection of 30 patches to speed up R version 2.13.0. You can get them here Assessing how much these patches speed up R is difficult. First of all, the speedup varies tremendously with the type of program. It also varies quite a bit with the machine ... [Read more...]

Slowing down matrix multiplication in R

May 21, 2011 | Radford Neal

After I realized that some aspects of R’s implementation are rather inefficient, one of the first things I looked at was matrix multiplication.  There I found a huge performance penalty for many matrix multiplies, a penalty which remains in the current version, 2.13.0.  As discussed below, eliminating this penalty speeds ... [Read more...]

Speed tests for R — and a look at the compiler

May 13, 2011 | Radford Neal

I’ve gotten back to work on speeding up R, starting with improving my suite of speed tests.  Among other new features, this suite allows one to easily try out the “byte-code” compiler that is now a standard part of the latest release of R, version 2.13.0. You can get the ... [Read more...]

Fourteen patches to speed up R

September 3, 2010 | Radford Neal

Following my discovery of two surprising inefficiencies in R, I’ve been inspired to spend much of the last two weeks looking for ways to speed it up. I’ve had quite a bit of success, both at finding ways to speed up particular functions, and at finding ways to ... [Read more...]

Speeding up parentheses (and lots more) in R

August 19, 2010 | Radford Neal

As I noted here, enclosing sub-expressions in parentheses is slower in R than enclosing them in curly brackets. I now know why, and I’ve modified R to reduce (but not eliminate) the slowness of parentheses. The modification speeds up many other operations in R as well, for an average ... [Read more...]

Two Surpising Things about R

August 14, 2010 | Radford Neal

I see that it’s been over a year since my last post!  I have a backlog of blog post ideas, but something else always seems to have higher priority.   Today, though, I have some interesting (and useful) things to say about R, which I discovered in the last few ... [Read more...]

Design Flaws in R #3 — Zero Subscripts

September 21, 2008 | Radford Neal

Unlike the two design flaws I posted about before (here, here, and also here), where one could at least see a reason for the design decision, even if it was unwise, this design flaw is just  incomprehensible.  For no reason at all that I can see, R allows one to ... [Read more...]

R Design Flaws #1 and #2: A Solution to Both?

August 25, 2008 | Radford Neal

I’ve previously posted about two design flaws in R. The first post was about how R produces reversed sequences from a:b when a__b, with bad consequences in “for” statements (and elsewhere). The second post was about how R by default drops dimensions in expressions like M[i:... [Read more...]

Design Flaws in R #2 — Dropped Dimensions

August 19, 2008 | Radford Neal

In a comment on my first post on design flaws in the R language, Longhai remarked that he has encountered problems as a result of R’s default behaviour of dropping a dimension of a matrix when you select only one row/column from that dimension. This was indeed the ... [Read more...]

Design Flaws in R #1 — Reversing Sequences

August 6, 2008 | Radford Neal

The R language for statistical computing has become the standard for academic statistical research, for the very good reason that it’s better than the alternatives. It’s far from perfect however. I could come up with a long “wish list” of desired features it lacks, but that’s not ... [Read more...]
1 2

Never miss an update!
Subscribe to R-bloggers to receive
e-mails with the latest R posts.
(You will not see this message again.)

Click here to close (This popup will not appear again)