Aan de slagBegin gratis

Aanroepen van chunk.apply paralleliseren

De functie chunk.apply() kan ook gebruikmaken van parallelle processen om data sneller te verwerken. Wanneer de parameter CH.PARALLEL op een waarde groter dan één wordt gezet op Linux- en Unix-machines (inclusief de Mac), lezen en verwerken meerdere processen tegelijk data, waardoor de uitvoeringstijd afneemt. Op Windows wordt de parameter CH.PARALLEL genegeerd.

Deze oefening maakt deel uit van de cursus

Schaalbare gegevensverwerking in R

Bekijk cursus

Oefeninstructies

  • Meet de performance van de functie iotools_read_fun(): eerst met 1 proces en daarna met 3 parallelle processen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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
)
Code bewerken en uitvoeren