[Rcpp-devel] Rcpp speed
Dirk Eddelbuettel
edd at debian.org
Tue Dec 21 16:24:56 CET 2010
Romain rightly scolds me once again for me having forgotten about the fact
that INTSXP != REALSXP, and conversion to NumericVector has a cost. So once
we keep everything in int, there is no difference:
R> x <- 1L:10L
R> benchmark(replications = 10000,
+ R = x + x, Rfun = funR(x, x), Rcpp = funRcpp(x, x))
test replications elapsed relative user.self sys.self user.child sys.child
1 R 10000 0.041 1.0000 0.04 0 0 0
3 Rcpp 10000 0.054 1.3171 0.05 0 0 0
2 Rfun 10000 0.054 1.3171 0.06 0 0 0
R> x <- 1L:1000L
R> benchmark(replications=1000, R = x + x, Rfun = funR(x, x), Rcpp = funRcpp(x, x))
test replications elapsed relative user.self sys.self user.child sys.child
1 R 1000 0.008 1.3333 0.01 0 0 0
3 Rcpp 1000 0.006 1.0000 0.01 0 0 0
2 Rfun 1000 0.009 1.5000 0.01 0 0 0
R> x <- 1L:1000000L
R> benchmark(replications=100, R = x + x, Rfun = funR(x, x), Rcpp = funRcpp(x, x))
test replications elapsed relative user.self sys.self user.child sys.child
1 R 100 0.436 1.5034 0.43 0.00 0 0
3 Rcpp 100 0.290 1.0000 0.18 0.11 0 0
2 Rfun 100 0.461 1.5897 0.44 0.01 0 0
R>
Happier now?
Dirk
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
More information about the Rcpp-devel
mailing list