我是 R 中的多核新手,正在尝试降雪包以测试是否可以加快应用功能。
不知道出了什么问题,但我的 sfApply() 的多核实现总是比 apply() 慢 2 倍
任何帮助是极大的赞赏!提前致谢。
单核示例 - 在我的 PC 中完成大约 1.3 秒:
x=2000
y=10000
startTime <- proc.time()
randomX <- sample(1:100,x*y, replace=T)/100+0.5
randomMatrix <- matrix(NA,x,y)
randomMatrix[,] <- randomX
randomRetX <- apply(randomMatrix,2,cumprod)
endTime <- proc.time()
endTime-startTime
降雪实施 - 在我的 PC 中接近 3 秒:
library(snowfall)
sfInit( parallel=TRUE, cpus=4)
x=2000
y=10000
startTime <- proc.time()
randomX <- sample(1:100,x*y, replace=T)/100+0.5
randomMatrix <- matrix(NA,x,y)
randomMatrix[,] <- randomX
randomRetX <- sfApply(randomMatrix,2,cumprod)
endTime <- proc.time()
endTime-startTime
sfStop()