我有一个 R 例程,大部分时间都花在了lapply
以下形式的调用上:
lapply(X, FUN, ...)
其中 X 是一个包含 400 个元素的列表。总执行时间为 11.88 秒。
然后我决定使用这个multicore
包并对我的例程进行以下更改
mclapply(X,有趣,...)
之后我惊讶地发现计算时间下降到 0.66 秒。也就是说,只有原始时间的 5%。这让我感到惊讶,因为我预计笔记本电脑上的处理器是原始时间的 25% 左右
Intel® Core™ i5 CPU M 560 @ 2.67GHz × 4
有人能解释一下这个额外减少的时间是从哪里来的吗?是每个核心本身都可以并行计算吗?