chunk.apply के कॉल्स को पैरेललाइज़ करना
chunk.apply() फंक्शन डेटा को तेज़ी से प्रोसेस करने के लिए parallel processes का उपयोग भी कर सकता है। जब Linux और Unix मशीन (Mac सहित) पर CH.PARALLEL पैरामीटर को 1 से बड़ा मान दिया जाता है, तो कई processes एक साथ डेटा को पढ़ते और प्रोसेस करते हैं, जिससे execution time कम हो जाता है। Windows पर CH.PARALLEL पैरामीटर को नज़रअंदाज़ किया जाता है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Scalable Data Processing
अभ्यास निर्देश
- फंक्शन
iotools_read_fun()का बेंचमार्क चलाइए, पहले 1 process के साथ और फिर 3 parallel processes के साथ।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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
)