Kom igångKom igång gratis

Parallellisering av anrop till chunk.apply

Funktionen chunk.apply() kan också använda parallella processer för att bearbeta data snabbare. När parametern CH.PARALLEL sätts till ett värde större än ett på Linux- och Unix-maskiner (inklusive Mac) läser och bearbetar flera processer data samtidigt, vilket minskar körningstiden. På Windows ignoreras parametern CH.PARALLEL.

Den här övningen är en del av kursen

Skalbar databehandling i R

Visa kurs

Övningsinstruktioner

  • Benchmark:a funktionen iotools_read_fun(), först med 1 process och sedan med 3 parallella processer.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
)
Redigera och kör kod