こんにちは、MC
パッケージを使用して、plyr
のライブラリのddply
を使用しようとしています。それは計算をスピードアップしているようではありません。これは私が実行するコードです:plyrを持つマルチコア、MC
require(doMC)
registerDoMC(4)
getDoParWorkers()
##> 4
test <- data.frame(x=1:10000, y=rep(c(1:20), 500))
system.time(ddply(test, "y", mean))
# user system elapsed
# 0.015 0.000 0.015
system.time(ddply(test, "y", mean, .parallel=TRUE))
# user system elapsed
# 223.062 2.825 1.093
アイデアはありますか?
実行している実際の計算に応じて、 'data.table'パッケージは実際にそれらを高速化するかもしれません。すべての美徳のために、 'plyr'パッケージの' split-apply-combine '実装は実際にはかなり遅いですが、 'data.table'はまずスピードのために設計されています。 (もしあなたが興味をそそられているなら、できるだけ多くの出発点を得るために '[r] [data.table] plyr'のようなものをSOで検索してください)。 –
ジョシュさん、ありがとうございました。 – Alex