From byron.ellis at gmail.com  Wed Aug 29 22:58:35 2007
From: byron.ellis at gmail.com (Byron Ellis)
Date: Wed, 29 Aug 2007 13:58:35 -0700
Subject: [Rd] Modifying R_CheckStack for a speed increase
In-Reply-To: <000f01c7ea79$d55b95c0$6401a8c0@DDV3JY61>
References: <000f01c7ea79$d55b95c0$6401a8c0@DDV3JY61>
Message-ID: <7098abec0708291358h7819feb2gda534291ff7d098d@mail.gmail.com>

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 <milbo at sonic.net> 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 at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>


-- 
Byron Ellis (byron.ellis at gmail.com)
"Oook" -- The Librarian



[Rd] Modifying R_CheckStack for a speed increase
Byron Ellis