Используя параллельную обработку в веганских функциях? - PullRequest
2 голосов
/ 29 апреля 2020

Я заинтересован в параллельном выполнении функции R adonis из пакета vegan. Однако мне не ясно, как именно заставить его работать параллельно. Независимо от того, как я пытаюсь его инициализировать, кажется, что выполнение занимает одинаковое количество времени. Может кто-нибудь объяснить, что я делаю не так?

require(vegan)
require(parallel)
data(dune)
data(dune.env)
#This:
system.time(adonis(dune ~ Management * A1, dune.env, perm = 99999))
#Runs faster (4.49 s) than this (6.7 s):
system.time(adonis(dune ~ Management * A1, dune.env, perm = 99999, parallel=3))
#or this (6.7 s)
cl <- makeCluster(3)
system.time(adonis(dune ~ Management * A1, dune.env, perm = 99999, parallel=cl))
stopCluster(cl)

Информация о компьютере:

  • R V4.0
  • Win 10x64
  • i5-8350 4 ядра
...