- はコメント行かと思ったら大事な行だった…(こういうところで躓きます)(こちら)
#include <Rcpp.h>
int fibCpp(int n)
{
if((n == 0) | (n == 1)){
return 1;
}
return fibCpp(n-1) + fibCpp(n-2);
}
library(Rcpp)
library(rbenchmark)
sourceCpp("fibCpp.cpp")
fibR <- function(n)
{
if((n==0) | (n==1)){
return(1)
}
return(fibR(n-1)+fibR(n-2))
}
benchmark(fibR(20),fibCpp(20),replications =1000)[,1:4]
> benchmark(fibR(20),fibCpp(20),replications =1000)[,1:4]
test replications elapsed relative
2 fibCpp(20) 1000 0.11 1.000
1 fibR(20) 1000 252.65 2296.818