0
你好我試圖使用R包並行,特別是mclapply()函數來使用我的8核心系統產生一個移動平均超過10000列和24行(移動平均在這些列上,因此24個數據點被平滑了10000次)。R沒有lapply和mclapply之間的性能差異
但是,當我比較標準樂器與mclapply的演奏速度時,我看不到加速。有人能解釋爲什麼我看到運行時間沒有區別嗎?
> x = replicate(10000, rnorm(24))
> system.time({
+ tmpp = lapply(list(x), function(x) {
+ rollmean(x, 7)
+ })
+ })
user system elapsed
15.309 7.893 23.201
>
> detectCores()
[1] 8
>
> system.time({
+ tmpp = mclapply(list(x),mc.cores=8, function(x) {
+ rollmean(x, 7)
+ })
+ })
user system elapsed
15.628 7.948 23.573
這也許是深奧的,你的函數的風格是前途未卜。 'lapply(x,rollmean,k = 7)'更清潔,可能更快。 – user5957401 2017-09-13 18:38:39