Rでsnowfall parallelパッケージを使用してフィボナッチ関数を実装しようとしていました.以下は私が使用したコードです.
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 つのコアすべてを使用していないということですか? 誰でもガイダンスを手伝ってもらえますか?このパフォーマンスを最適化できますか?