Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

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

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in 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