[Rd] Modifying R_CheckStack for a speed increase
Stephen Milborrow
milbo at sonic.net
Wed Aug 29 22:18:39 CEST 2007
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
More information about the R-devel
mailing list