>>>>> "BertG" == Berton Gunter <[EMAIL PROTECTED]> >>>>> on Mon, 16 May 2005 15:20:01 -0700 writes:
BertG> (just my additional $.02) ... and as a general rule BertG> (subject to numerous exceptions, caveats, etc.) BertG> 1) it is programming and debugging time that most BertG> impacts "overall" program execution time; 2) this is BertG> most strongly impacted by code readability and size BertG> (the smaller the better); 3) both of which are BertG> enhanced by modular construction and reuseability, BertG> which argues for avoiding inline code and using BertG> separate functions. BertG> These days, i would argue that most of the time it is BertG> program clarity and correctness (they are related) BertG> that is the important issue, not execution speed. BertG> ... again, subject to exceptions and caveats, etc. Yes indeed; very good points very well put! Just to say it again: **** We strongly recommend not to "inline" your code, but rather **** program modularly, i.e. call small `utility' functions. If execution time ever becomes crucial for your problem (not often), the chances are considerable that the time spent is not there [[ but you have to measure! - use Rprof() ! ]] and if it *was* there, then you have your bottleneck in one simple function that you could start optimizing... even a good reason for not inlining that code.. Martin Maechler, ETH Zurich BertG> -- Bert Gunter Genentech Non-Clinical Statistics BertG> South San Francisco, CA BertG> "The business of the statistician is to catalyze the BertG> scientific learning process." - George E. P. Box >> -----Original Message----- From: >> [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of >> Duncan Murdoch Sent: Monday, May 16, 2005 3:09 PM To: >> [EMAIL PROTECTED] Cc: r-help Subject: Re: [R] >> parsing speed >> >> Federico Calboli wrote: > Hi everyone, >> > >> > I have a question on parsing speed. >> > >> > I have two functions: >> > >> > F1 > F2 >> > >> > As things are now, F2 calls F1 internally: >> > >> > F2 = function(x){ > if (something == 1){ > y = F1(x) > >> } > if (something ==2){ > do whatever > } > } >> > >> > *Assuming there could be some difference*, is is faster >> to use the code > as written above or should I actually >> write the statements of F1 to make > the parsing faster? >> >> The parsing only happens once when you define the >> functions, and is (almost always) a negligible part of >> total execution time. I think you're really worried >> about execution time. You'll probably get more execution >> time with a separate function because function calls take >> time. >> >> However, my guess is that putting F1 inline won't make >> enough difference to notice. >> >> Duncan ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html