**Thinking inside the box**, and kindly contributed to R-bloggers)

With yesterday’s announcement of littler 0.2.0, I kept thinking about a few not-so-frequently-asked but recurring questions about littler. And an obvious one if of course the relationship to Rscript.

As we have pointed out before, littler preceded Rscript. Now, with Rscript being present in every R installation, it is of course by now more widely known.

But there is one important aspect which I stressed once or twice in the past and which bears repeating. Due to the *lean and mean* way in which littler is designed and set-up, it actually starts a lot faster than either Rscript or R. How, you ask? Well we actually query the environement at build time and hardcode a number of settings which R and Rscript re-acquire and learn each time they start. Which is more flexible. But slower.

So consider the following, really simple example. In it, we create a simple worker function `f`

which launches the given (and simplest possible) R command of just quitting 250 times (by launching a shell command which loops). We then let littler, Rscript and R (in its *just execute this expression* mode) run this, and time it via one of the common benchmarking packages.

```
R> library(rbenchmark)
R> f <- function(cmd) { system(paste0("bash -c "for i in \$(seq 1 250); do ", cmd, " -e 'q()'; done"")); }
R> res <- benchmark(f("r"), f("Rscript"), f("R --slave"), replications=5, order="relative")
R> res
test replications elapsed relative user.self sys.self user.child sys.child
1 f("r") 5 32.256 1.000 0.001 0.004 26.538 5.706
2 f("Rscript") 5 180.154 5.585 0.001 0.004 152.751 28.522
3 f("R --slave") 5 302.714 9.385 0.001 0.004 270.569 33.098
R>
```

So there: littler does "nothing" about five times as fast as Rscript, and about nine times as fast as R. Not that this matters greatly — but when you design something for repeated (unsupervised) execution, say in a cronjob, it might as well be lightweight.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

**leave a comment**for the author, please follow the link and comment on his blog:

**Thinking inside the box**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...