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
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
)