ComenzarEmpieza gratis

Evaluación de rendimiento con microbenchmark

Dado que la motivación principal de Rcpp es el rendimiento, necesitas poder medir con precisión cuánto tarda en ejecutarse tu código. Para ello usarás la función microbenchmark() del paquete microbenchmark.

microbenchmark() recibe expresiones con nombre como argumentos, ejecuta cada expresión un número determinado de veces (100 por defecto) en orden aleatorio y devuelve estadísticas resumidas. En este curso, solo nos interesa la columna median.

En tu espacio de trabajo tienes disponible un vector x formado por 100.000 números aleatorios normales estándar.

Este ejercicio forma parte del curso

Optimizar código de R con Rcpp

Ver curso

Instrucciones del ejercicio

  • Carga el paquete microbenchmark.
  • Escribe una función sum_loop() que calcule la suma de todos los elementos de un vector usando un bucle for de R.
  • Verifica que obtienes el mismo resultado que con la función sum() usando la función all.equal().
  • Compara el rendimiento con microbenchmark().

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Load microbenchmark
___

# Define the function sum_loop
sum_loop <- function(x) {
  result <- 0
  ___
  result
}

# Check for equality 
___(sum_loop(x), sum(x))

# Compare the performance
___(sum_loop = sum_loop(x), R_sum = sum(x))
Editar y ejecutar código