Paralléliser les appels à chunk.apply
La fonction chunk.apply() peut également utiliser des processus parallèles pour traiter les données plus rapidement. Lorsque le paramètre CH.PARALLEL est supérieur à un sur les machines Linux et Unix (y compris Mac), plusieurs processus lisent et traitent les données en même temps, ce qui réduit le temps d’exécution. Sous Windows, le paramètre CH.PARALLEL est ignoré.
Cet exercice fait partie du cours
Traitement de données à grande échelle en R
Instructions
- Évaluez les performances de la fonction
iotools_read_fun(), d’abord avec 1 processus puis avec 3 processus parallèles.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
iotools_read_fun <- function(parallel) {
fc <- file("mortgage-sample.csv", "rb")
readLines(fc, n = 1)
chunk.apply(fc, make_msa_table,
CH.MAX.SIZE = 1e5, CH.PARALLEL = parallel)
close(fc)
}
# Benchmark the new function
microbenchmark(
# Use one process
___,
# Use three processes
___,
times = 20
)