
R 3.4.0 released - uyoakaoma
https://cran.r-project.org/doc/manuals/r-release/NEWS.html
======
mobileexpert
"The JIT (‘Just In Time’) byte-code compiler is now enabled by default at its
level 3. This means functions will be compiled on first or second use and top-
level loops will be compiled and then run. (Thanks to Tomas Kalibera for
extensive work to make this possible.)"

Very exciting.

~~~
plg
Does this mean simple for-loops in R will be faster? Currently R can be
order(s) of magnitude slower than MATLAB / Python. Does one have to do
something specific to use the JIT or is it automagic?

~~~
jmount
Speed differences of that magnitude are largely due to bad interactions with
R's data allocation model. R for loops are not that slow if there is no
allocation going on, and there are ways to organize the allocation ahead of
time: [http://www.win-vector.com/blog/2015/07/efficient-
accumulatio...](http://www.win-vector.com/blog/2015/07/efficient-accumulation-
in-r/)

So my guess is: no the JIT won't help for ultra slow code as in my experience
that isn't the problem in that case.

~~~
haddr
While this is a great article, it also transmits some truth about R: writing
anything fast is a pain in the ass. Especially frustrating when you hear those
R "experts" repeating "use apply" functions. The truth is, the design of the
language requires you to actually learn some dirty details and _NOT_ solely
rely on the idiomatic syntax.

I like R quite much, but this is a sign of a bad language design.

------
chronial
Changelog:
[https://cran.r-project.org/doc/manuals/r-devel/NEWS.html](https://cran.r-project.org/doc/manuals/r-devel/NEWS.html)

~~~
sctb
Thanks! We updated the link from
[https://cran.r-project.org/src/base/R-3/](https://cran.r-project.org/src/base/R-3/).

~~~
huac
That is the incorrect link. The correct link is:
[https://cran.r-project.org/doc/manuals/r-release/NEWS.html](https://cran.r-project.org/doc/manuals/r-release/NEWS.html)

This links to the R-DEVEL branch, which is not R 3.4.0, but rather the
development version _ahead_ of 3.4.0. Since 3.4.0 is a new release, the
correct link is to the R-RELEASE changenotes.

~~~
sctb
Thanks, we updated the link again.

