Skip to content

Huge difference btw system time and elapsed time

6 messages · R. Michael Weylandt, Martin Maechler, Brian Ripley +1 more

#
The time relationships aren't strictly linear between any of the three
measures, but *very generally* I've interpreted them as something
like:

User: stuff you do (i.e., doing all the commands)
System: stuff at the OS level (memory allocations and whatnot)
Elapsed: Clock time

None is a great measure in isolation, but the system time is not the
worrisome one here: it looks like your script takes about a day and a
half to run....that might be ok (and perhaps unavoidable) but it looks
like there might be value in trying to squeeze some speed out of your
script. A simple thing like byte-compiling that gives 2x speedup would
be huge here.

Michael
On Tue, Feb 21, 2012 at 10:06 PM, Libo Sun <libosun at rams.colostate.edu> wrote:
#
> Thanks. Shall I sum the user time and system time, which
    > roughly equals to the elapsed time?

No.  Rather just use the  user time,
i.e.  proc.time()[[1]]   
    system.time()[[1]]   etc

That's typically good enough [as long as you don't use
internally multithreaded BLAS, or  parallelize / distribute your job,
or other things you won't be doing (yet)].

Martin Maechler, ETH Zurich

   > I also tried to improve the code by using 'cmpfun(myfunction)' in
   > 'compiler' package, however, it doesn't help too much.

   > Libo
#
On 22/02/2012 07:53, Martin Maechler wrote:
I think the original suggestion was better, and e.g. R CMD check reports 
the sum of user+system as the CPU time.

This is platform-dependent, and on some platforms there can be 
substantial CPU for your process which is accounted as system time. 
(I've seen it most often on OS X, but not only there.)

The other issue is the fourth and fifth entries, time for children, 
which as Martin says is only for advanced users (and not reported on 
Windoww).