ПочатиПочніть безкоштовно

Паралелізація викликів 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
)
Редагувати та запускати код