수익 미세 벤치마크
여러분은 온라인 판매사의 데이터 분석가로 일하고 있어요. 한 달 동안 판매된 다양한 제품의 매출 데이터를 쿼리했으며, 이는 작업 공간에 리스트 ls_sales로 준비되어 있습니다. 이 리스트의 각 원소는 특정 제품의 매출 벡터예요.
일(day) 단위로 매출이 어떻게 증가했는지 보고 싶습니다. 즉, 누적합을 계산하면 됩니다. 기본 R에는 이를 위한 cumsum() 함수가 있습니다. 하지만 병렬화가 도움이 되는지도 확인하려고 합니다. ls_sales의 각 원소에 cumsum()을 순차적으로 적용한 결과와 병렬로 적용한 결과를 비교해 보세요. parallel과 microbenchmark 패키지는 미리 로드되어 있습니다.
이 연습은 강의의 일부입니다
R의 병렬 프로그래밍
연습 안내
- 순차 버전과 병렬 버전을
microbenchmark()호출의 인수로 전달하세요. - 사용 가능한 코어 수에서 2개를 뺀 개수만큼의 클러스터를 생성하세요.
- 생성한 클러스터로
parLapply()를 사용해ls_sales에cumsum()을 병렬로 적용하세요. - 계산이 끝나면 클러스터를 중지하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Pass the code to microbenchmark
___
"lapply" = lapply(ls_sales, cumsum),
"parLapply" = {
# Make a cluster of all cores minus two
cluster <- ___
# Use cluster to apply in parallel
parLapply(cluster, ___, ___)
# Stop cluster
___
},
times = 3
___