library("microbenchmark")
x <- 1:10
y <- rnorm(10)
microbenchmark(R = approx(x, y, x+0.5))
#> Unit: microseconds
#> expr min lq mean median uq max neval
#> R 69.698 85.2985 173.4748 86.277 87.98 8411.178 100
library("microbenchmark")
x <- 1:10
y <- rnorm(10)
microbenchmark(RRO = approx(x, y, x+0.5))
#> Unit: microseconds
#> expr min lq mean median uq max neval
#> RRO 45.161 47.2345 66.59206 49.072 66.2125 916.439 100
RRO's use of multi-threaded linear algebra libraries makes interpolation approximately twice as fast (mean/median) and brings down worst performance significantly.