시작하기무료로 시작하기

microbenchmark로 벤치마크하기

Rcpp의 주요 동기는 성능이므로, 코드 실행에 걸리는 시간을 정확히 측정할 수 있어야 합니다. 이를 위해 microbenchmark 패키지의 microbenchmark() 함수를 사용합니다.

microbenchmark()는 이름이 지정된 표현식을 인수로 받아, 각 표현식을 주어진 횟수(기본값은 100회)만큼 무작위 순서로 실행하고 요약 통계를 반환합니다. 이 강의에서는 median 열만 살펴보면 됩니다.

표준 정규분포에서 생성된 난수 100,000개로 이루어진 벡터 x가 작업 공간에 준비되어 있습니다.

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

Rcpp로 R 코드 최적화하기

강의 보기

연습 안내

  • microbenchmark 패키지를 불러오세요.
  • R의 for 루프를 사용해 벡터의 모든 원소 합을 계산하는 함수 sum_loop()를 작성하세요.
  • all.equal() 함수를 사용해 sum() 함수와 같은 결과가 나오는지 확인하세요.
  • microbenchmark()로 성능을 비교하세요.

실습형 인터랙티브 연습

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

# Load microbenchmark
___

# Define the function sum_loop
sum_loop <- function(x) {
  result <- 0
  ___
  result
}

# Check for equality 
___(sum_loop(x), sum(x))

# Compare the performance
___(sum_loop = sum_loop(x), R_sum = sum(x))
코드 편집 및 실행