Comment optimiser les calculs et/ou optimiser l’utilisation de la mémoire

Soumis par fdessaint le jeu 09/11/2017 - 10:03

fdessaint

jeu 09/11/2017 - 10:04

La fonction mclapply() permet une parallélisation très simple. Elle est disponible dans le package parallel qui est installé avec la version de base de R

library("parallel")
# Détecte le nombre de cœurs
cores <- detectCores()
cores
[1] 4

Sur une fonction simple

pause <- function(i) {
    function(x) Sys.sleep(i)
}

on peut gagner beaucoup de temps !!!

system.time(lapply(1:8, pause(1)))
   user  system elapsed 
  0.001   0.000   8.013 
system.time(mclapply(1:8, pause(1), mc.cores = cores))
   user  system elapsed 
  0.008   0.018   2.020