我不熟悉R中的多核,正在尝试降雪包,以测试是否可以加快应用功能。
不确定出了什么问题,但是我的sfApply()的多核实现总是比apply()慢2倍
非常感谢任何帮助!提前谢谢。
单核示例 - 在我的电脑中完成约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
降雪实施 - 在我的电脑中接近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()