Memparalelkan pemanggilan chunk.apply
Fungsi chunk.apply() juga dapat memanfaatkan proses paralel untuk memproses data lebih cepat. Ketika parameter CH.PARALLEL disetel ke nilai lebih besar dari satu pada mesin Linux dan Unix (termasuk Mac), beberapa proses akan membaca dan memproses data secara bersamaan sehingga mengurangi waktu eksekusi. Pada Windows, parameter CH.PARALLEL diabaikan.
Latihan ini adalah bagian dari kursus
Pemrosesan Data yang Dapat Diskalakan di R
Petunjuk latihan
- Uji kinerja fungsi
iotools_read_fun(), pertama dengan 1 proses dan kemudian dengan 3 proses paralel.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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
)