[Rd] Byte code compile not helpful in R3.0.2
Prof J C Nash (U30A)
nashjc at uottawa.ca
Sun Nov 3 20:55:01 CET 2013
My bad to not give details. I'm comparing (though not quite directly) to
results in the posting
http://rwiki.sciviews.org/doku.php?id=tips:rqcasestudy.
What prompted the query was a write up of "for" versus "while" loops,
where there was a speedup using compiler for one of these. I had the
example in a knitr file, and when I was reviewing the text before
sending it to an editor, I realized the timings no longer supported the
text. They were, as I recall, developed in R 2.15.2, and I just looked
through my VMs with different OS's to see if there is one with that
still extant, but except for a real Win7 case I have been too "good" and
updated to at least 3.0.1, where I'm getting no advantage. The Win7 case
is R 2.15.1, and there the compiler actually went slower on one run of
the code below. That may be due to antivirus running -- had not booted
that partition for quite a while.
Here is the for-while test code:
# forwhiletime.R
library(microbenchmark)
require(compiler)
tfor <- function(n){
for (i in 1:n) {
xx<-exp(sin(cos(as.double(i))))
}
xx
}
twhile <- function(n){
i<-0
while (i<n) {
i<-i+1
xx<-exp(sin(cos(as.double(i))))
}
xx
}
n<-10000
timfor<-microbenchmark(tfor(n))
timwhile<-microbenchmark(twhile(n))
timfor
timwhile
cmpfun(tfor)
cmpfun(twhile)
timforc<-microbenchmark(tfor(n))
timwhilec<-microbenchmark(twhile(n))
timforc
timwhilec
looptimes<-data.frame(timfor$time, timforc$time, timwhile$time,
timwhilec$time)
colMeans(looptimes)
Actually, I'm not greatly axious about all this. Mainly I want to make
sure that I get whatever advice is to be rendered so it is correct.
Best,
JN
On 13-11-03 02:22 PM, Duncan Murdoch wrote:
> On 13-11-03 2:15 PM, Prof J C Nash (U30A) wrote:
>> I had a bunch of examples of byte code compiles in something I was
>> writing. Changed to 3.0.2 and the advantage of compiler disappears. I've
>> looked in the NEWS file but do not see anything that suggests that the
>> compile is now built-in. Possibly I've just happened on a bunch of
>> examples where it does not help, but experiences of a year ago do not
>> seem to remain valid now. Just wondering if my experience was consistent
>> with what is expected now in 3.0.2.
>
> Post some details, please. Are the times in 3.0.2 like the times in
> 3.0.1 with or without compiling? Or were you comparing to some other
> version?
>
> Duncan Murdoch
>
>
>
More information about the R-devel
mailing list