chunk.apply 호출 병렬화
chunk.apply() 함수는 병렬 프로세스를 활용해 더 빠르게 데이터를 처리할 수도 있습니다. Linux와 Unix(맥 포함)에서는 CH.PARALLEL 매개변수를 1보다 큰 값으로 설정하면 여러 프로세스가 동시에 데이터를 읽고 처리하여 실행 시간을 줄입니다. 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
)