R 에서 코드 실행 시간 재는 법, 벤치마크하는 법

R 에서 코드 실행 시간 재는 법, 벤치마크하는 법

개요

매트랩R 은 분명 통계 분석에 특화되어 있는 프로그래밍 언어지만, 모든 언어가 그러하듯 속도에 관심이 없는 것은 아니다. 속도가 강점이 아니라고 해도 벤치마킹은 할 수 있어야한다. R 에서는 간단하게도 코드 전문을 system.time({})에 넣어서 시간을 잴 수 있다.

예시

다음은 에라토스테네스의 체를 R 로 구현하고 $2*10^{5}$ 이하의 홀수를 30개 뽑아 소수인지 아닌지 확인한 후 그 실행 시간을 재는 코드다.

eratosthenes<-function(n){
  residue<-2:n
  while(n %in% residue){
    p<-residue[1]
    residue<-residue[as.logical(residue%%p)]
  }
  return(p)
}
 
set.seed(150421)
test = sample(2*1:10^5+1,30)
system.time({
  for(n in test){
    print(paste0("eratosthenes(",n,") = ",eratosthenes(n)))
  }
  print("계산 끝")
})

그 실행결과는 다음과 같다.

20190816\_144557.png

댓글