ÎncepețiÎncepe gratuit

Benchmarking with microbenchmark

Because the main motivation for Rcpp is performance, you need to be able to accurately measure how long your code takes to run. You will use the microbenchmark() function from the microbenchmark package for this purpose.

microbenchmark() takes named expressions as arguments, executes each expression a given number of times (100 by default) in a random order, and returns some summary statistics. In this course, we only care about the median column.

A vector x consisting of 100,000 standard normal random numbers is available in your workspace.

Acest exercițiu face parte din cursul

Optimizing R Code with Rcpp

Vezi cursul

Instrucțiuni pentru exercițiu

  • Load the microbenchmark package.
  • Write a function sum_loop() that calculates the sum of all the elements in a vector using an R for loop .
  • Verify that you get the same result with the sum() function using the all.equal() function.
  • Compare the performance with microbenchmark().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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))
Editează și rulează codul