[R] A question on Programming

jim holtman jholtman at gmail.com
Thu Nov 10 16:41:49 CET 2011


You can always runs a quick test.  Here a loop is repeated 10M times
and the cost of the function call adds 344 ns; is this significant in
your case?  Probably not for the modularity that is gained.  For your
10,000 loops, it would add 3.44 ms to the overall run (less than an
blink of the eye).

> iter <- 10000000  # number of iteration
>
> system.time(for (i in 1:iter) {})
   user  system elapsed
   2.22    0.02    2.05
> system.time(for (i in 1:iter) f.null())
   user  system elapsed
   5.66    0.00    5.31
>
> 5.66 / iter
[1] 0.000000566
> (5.66 - 2.22)/ iter
[1] 0.000000344
>


On Thu, Nov 10, 2011 at 10:07 AM, Christofer Bogaso
<bogaso.christofer at gmail.com> wrote:
> Dear all. Let say I have a group of codes which will be used in many places
> in my overall R-code files. These group of codes will be used within a
> for-loop (with a big length, like 10000 times) and also many other places
> outside of that for loop. As this group of codes are being used in many
> places, I thought to put them within a user-defined function.
>
> Here my question is, is there any speed reduction if I put them within a
> function (I think there may be some speed reduction at least within
> for-loop, because that loop needs to call that function many times),
> relative to if I used that group of codes as-it-is in many places?
>
> Thanks and regards,
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.



More information about the R-help mailing list