R中“用户”,“系统”和“过去”时间的含义是什么

时间:2013-09-06 23:37:29

标签: r parallel-processing

我在R中采用并行计算,并做一些基准工作。我注意到,当使用多个核心时,system.time会显示usersystem的时间增加,但elapsed时间会减少。这是否表明并行计算是有效的?感谢。

1 个答案:

答案 0 :(得分:7)

如果你help(system.time),你会看到help(proc.time)。我从其帮助页面引用:

  

值:

 An object of class ‘"proc_time"’ which is a numeric vector of
 length 5, containing the user, system, and total elapsed times for
 the currently running R process, and the cumulative sum of user
 and system times of any child processes spawned by it on which it
 has waited.  (The ‘print’ method uses the ‘summary’ method to
 combine the child times with those of the main process.)

 The definition of ‘user’ and ‘system’ times is from your OS.
 Typically it is something like

 _The ‘user time’ is the CPU time charged for the execution of user
 instructions of the calling process.  The ‘system time’ is the CPU
 time charged for execution by the system on behalf of the calling
 process._

 Times of child processes are not available on Windows and will
 always be given as ‘NA’.

 The resolution of the times will be system-specific and on
 Unix-alikes times are rounded down to milliseconds.  On modern
 systems they will be that accurate, but on older systems they
 might be accurate to 1/100 or 1/60 sec.  They are typically
 available to 10ms on Windows.