Паралелізація викликів chunk.apply
Функція chunk.apply() також може використовувати паралельні процеси, щоб пришвидшити обробку даних. Коли параметр CH.PARALLEL встановлено в значення, більше за одиницю, на Linux та Unix-системах (зокрема на Mac) кілька процесів одночасно зчитують і обробляють дані, тим самим скорочуючи час виконання. У Windows параметр CH.PARALLEL ігнорується.
Ця вправа є частиною курсу
Масштабована обробка даних в R
Інструкції до вправи
- Проведіть бенчмарк функції
iotools_read_fun(): спочатку з 1 процесом, а потім із 3 паралельними процесами.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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
)