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