HNHacker News
TopNewBestAskShowJobs

radfordneal

29 karma · joined June 23, 2013

submissionscomments
radfordneal··on Announcing pqR: A faster version of R
Sort of. That's why it shouldn't be too hard a modification to implement. For a call-by-name argument, you just have to evaluate the "promise" every time, rather than just the first time. (Assignment to a call-by-name argument will be a bit trickier, but not impossible.)
radfordneal··on Announcing pqR: A faster version of R
It's difficult to see how this rationale can possibly justify ignoring a 10x speed up in vector-matrix multiplies (and similar speedups for some other matrix multiplies) that can be achieved with a modification affecting a dozen or so lines of easily-checked code.
radfordneal··on Announcing pqR: A faster version of R
At present, pqR waits for all helper threads to be idle before doing a fork in the "parallel" package, and disables use of helper threads in the child processes (and temporarily in the parent, since it will wait for the child processes before doing anything more).
radfordneal··on Announcing pqR: A faster version of R
Yes, it's part of the release, and is also directly linked at radfordneal.github.io/pqR
radfordneal··on Announcing pqR: A faster version of R
If you look at the "future directions" section of pqR's version of the "R Internals" manual, you'll see a brief mention of a plan to implement "call by name" parameter passing in the style of Algol 60, which should address this issue. Before that happens, however, pqR will improve the tracking of references to reduce the number of unnecessary copies made when parameters are passed by value, which may be more than you realize in past versions of R.
radfordneal··on Announcing pqR: A faster version of R
At present, pqR is compatible with Rstudio only if you configure with the --disable-helper-threads option (ie, no automatic parallelization) along with the --enable-R-shlib option that's needed for Rstudio. This is a minor glitch in how pqR is linked that will be fixed soon.