Optimisation: sort or order and indicating default parameter

First, it is better to use sort(x) or x[order(x)]:

> x <- sample(1:100, 100)
> system.time({
+   for (i in 1:100000) y <- x[order(x, decreasing = FALSE)]
+ })
utilisateur     système      écoulé
      1.908       0.043       1.965
> system.time({
+   for (i in 1:100000) y <- sort(x, decreasing = FALSE)
+ })
utilisateur     système      écoulé
      2.993       0.035       3.043

Clearly the syntax x[order(x)] is more rapid (1/3 more fast).

Now a second test: decreasing = FALSE is the default; what is the difference if it is not indicated:

> system.time({
+   for (i in 1:100000) y <- x[order(x)]
+ })
utilisateur     système      écoulé
      1.907       0.037       1.952
>
> system.time({
+   for (i in 1:100000) y <- sort(x)
+ })
utilisateur     système      écoulé
      3.049       0.035       3.094

No big change...

Commentaires

Posts les plus consultés de ce blog

Standard error from Hessian Matrix... what can be done when problem occurs

stepAIC from package MASS with AICc

Install treemix in ubuntu 20.04