Hi Dirk, > inlines uses .Call, so there is a slight logical problem here... And yes,
What is the logical problem? > functions have overheads. If that is the case, .Call("test", xx) should be faster than test(xx). But it is not (see below). This looks wired to me. > > | library(microbenchmark) > | microbenchmark(test(xx)) > | microbenchmark(test_inline(xx)) > | microbenchmark(.Call('test', xx)) > > The normal idiom is a _single_ call so that you can compare: > > microbenchmark(test(xx), test_inline(xx), .Call('test', xx)) Here is the output. > microbenchmark(test(xx), test_inline(xx), .Call('test', xx)) Unit: microseconds expr min lq median uq max 1 .Call("test", xx) 94.831999999999993633537 96.090499999999991587174 97.557000000000002160050 99.762499999999988631316 128.83099999999998885869 2 test_inline(xx) 4.440000000000000390799 5.101499999999999701572 6.393000000000000682121 6.615000000000000213163 30.33899999999999863576 3 test(xx) 69.683000000000006934897 70.387500000000002842171 71.593500000000005911716 73.153500000000008185452 198.30899999999999749889 -- Regards, Peng _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel