Začněte nyníZačněte zdarma

Paralelizace volání chunk.apply

Funkce chunk.apply() umí také využít paralelní procesy pro rychlejší zpracování dat. Pokud nastavíš parametr CH.PARALLEL na hodnotu větší než 1 na systémech Linux a Unix (včetně Macu), více procesů čte a zpracovává data současně, čímž se zkrátí doba provádění. Na Windows je parametr CH.PARALLEL ignorován.

Toto cvičení je součástí kurzu

Škálovatelné zpracování dat v R

Zobrazit kurz

Pokyny k cvičení

  • Proveď benchmark funkce iotools_read_fun() — nejprve s 1 procesem a poté se 3 paralelními procesy.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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
)
Upravit a spustit kód