Kom igångKom igång gratis

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.

Den här övningen är en del av kursen

Optimizing R Code with Rcpp

Visa kurs

Övningsinstruktioner

  • 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().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod