시작하기무료로 시작하기

수익 미세 벤치마크

여러분은 온라인 판매사의 데이터 분석가로 일하고 있어요. 한 달 동안 판매된 다양한 제품의 매출 데이터를 쿼리했으며, 이는 작업 공간에 리스트 ls_sales로 준비되어 있습니다. 이 리스트의 각 원소는 특정 제품의 매출 벡터예요.

일(day) 단위로 매출이 어떻게 증가했는지 보고 싶습니다. 즉, 누적합을 계산하면 됩니다. 기본 R에는 이를 위한 cumsum() 함수가 있습니다. 하지만 병렬화가 도움이 되는지도 확인하려고 합니다. ls_sales의 각 원소에 cumsum()을 순차적으로 적용한 결과와 병렬로 적용한 결과를 비교해 보세요. parallelmicrobenchmark 패키지는 미리 로드되어 있습니다.

이 연습은 강의의 일부입니다

R의 병렬 프로그래밍

강의 보기

연습 안내

  • 순차 버전과 병렬 버전을 microbenchmark() 호출의 인수로 전달하세요.
  • 사용 가능한 코어 수에서 2개를 뺀 개수만큼의 클러스터를 생성하세요.
  • 생성한 클러스터로 parLapply()를 사용해 ls_salescumsum()을 병렬로 적용하세요.
  • 계산이 끝나면 클러스터를 중지하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# 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
___
코드 편집 및 실행