CommencerCommencer gratuitement

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

Afficher le cours

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
)
Modifier et exécuter le code