library(stringi)
microbenchmark::microbenchmark(
cat = cat("asldkfjlajsdf", "asldkfjlajsdf", "asldkfjlajsdf"),
print= print("asldkfjlajsdf"),
paste = paste("asldkfjlajsdf", "asldkfjlajsdf", "asldkfjlajsdf"),
paste0 = paste0("asldkfjlajsdf", "asldkfjlajsdf", "asldkfjlajsdf"),
stri_c = stri_c("asldkfjlajsdf", "asldkfjlajsdf", "asldkfjlajsdf")
,times = 10000)
Unit: microseconds
expr min lq mean median uq max neval
cat 116.118 121.519 143.710490 125.300 130.700 5129.712 10000
print 95.054 101.536 127.225742 109.097 116.118 5778.892 10000
paste 2.160 3.241 5.012823 3.781 5.401 885.197 10000
paste0 1.620 3.240 4.438318 3.780 4.861 166.886 10000
stri_c 3.240 4.861 7.573830 6.481 7.561 184.169 10000
I understand stri is written in C++ it should be faster but why is cat faster than print
microbenchmark::microbenchmark(
cat = cat("asldkfjlajsdf"),
print= print("asldkfjlajsdf")
,times = 10000)
Unit: microseconds
expr min lq mean median uq max neval
cat 28.084 30.785 37.2250 32.405 35.105 1769.313 10000
print 94.515 99.915 132.4082 106.397 112.337 89950.885 10000