降雪量';s sfApply和sfClusterApplyLB比正常循环或sapply慢

降雪量';s sfApply和sfClusterApplyLB比正常循环或sapply慢,r,snowfall,R,Snowfall,当我在R中应用此代码时,循环和sapply比snowfall的函数快。我做错了什么?(使用windows 8) 图书馆(降雪) a如果发送到每个工作节点的函数占用少量时间,并行化的开销会导致任务的总持续时间比串行运行作业的时间更长。当发送到工作节点的作业花费大量时间(至少几秒钟)时,并行化将真正显示出改进的性能 另见: 搜索[r]parallel将产生至少20个与您类似的问题,包括您可以如何解决问题的更多细节 library(snowfall) a<- 2 sfInit(parall

当我在R中应用此代码时,循环和
sapply
比snowfall的函数快。我做错了什么?(使用windows 8)

图书馆(降雪)

a如果发送到每个工作节点的函数占用少量时间,并行化的开销会导致任务的总持续时间比串行运行作业的时间更长。当发送到工作节点的作业花费大量时间(至少几秒钟)时,并行化将真正显示出改进的性能

另见:

搜索
[r]parallel
将产生至少20个与您类似的问题,包括您可以如何解决问题的更多细节

library(snowfall)
a<- 2
sfInit(parallel = TRUE, cpus = 4)
wrapper <- function(x){((x*a)^2)/3}
sfExport('a')
values <- seq(0, 100,1)
benchmark(for(i in 1:length(values)){wrapper(i)},sapply(values,wrapper),sfLapply(values, wrapper),sfClusterApplyLB(values, wrapper))
sfStop()
loop 0.05 sapply 0.07 sfClusterApplySB 2.94 sfApply 0.26