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