Alternatively, if you actually wanted to keep the 0.95 you could use usage > R_CStackLimit - (R_CStackLimit >> 4)
and probably get close enough to 0.95 as it makes no difference or go with 5 and get something more like 97%. At any rate, you'd avoid floating point. On 8/29/07, Stephen Milborrow <[EMAIL PROTECTED]> wrote: > Greetings R developers, > > R will run a little faster when executing "pure R" code if the function > R_CheckStack() is modified. > > With the modification, the following code for example runs 15% faster > (compared to a virgin R-2.5.1 on my Windows XP machine): > > N = 1e7 > foo <- function(x) > { > for (i in 1:N) > x <- x + 1 > x > } > foo(0) > > The crux of the modification is to change the following line in > R_CheckStack() > > if(R_CStackLimit != -1 && usage > 0.95 * R_CStackLimit) {... > > to > > if(usage > R_CStackLen) { ... > > Details and modified sources can be found at > ftp://ftp.sonic.net/pub/users/milbo. > > Regards, > Stephen > > http://milbo.users.sonic.net > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > -- Byron Ellis ([EMAIL PROTECTED]) "Oook" -- The Librarian ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel