我试图在R中使用降雪并行包来实现斐波那契函数 以下是我使用的代码。
vec <- 1:37
fib <- function(x)
{ if (x==0) return(0)
if (x==1) return(1)
if (x==2) return(2)
return(fib(x-1)+fib(x-2))
}
library(snowfall)
sfInit(parallel = TRUE, cpus = 4)
sfExport("vec","fib")
result <- sfLapply(vec,fib)
sfstop()
在运行代码时,我观察了cpu的使用情况。虽然我要求使用4个内核,但机器总是使用2个内核。
这是否意味着,我的代码没有使用全部4个内核?任何人都可以帮我指导吗?我可以优化这种性能吗?