Aan de slagGa gratis aan de slag

Hoe varieert de verwerkingstijd per gegevensgrootte?

Als je alle elementen van twee gegevenssets verwerkt en één gegevensset is groter, dan kost het verwerken van de grotere gegevensset meer tijd. Het is echter belangrijk om te beseffen dat hoe veel langer het duurt niet altijd recht evenredig is met hoe veel groter de set is. Met andere woorden: als je twee gegevenssets hebt en één is twee keer zo groot als de andere, is het niet gegarandeerd dat de grotere twee keer zo lang duurt om te verwerken. Het kan 1,5 keer zo lang duren of zelfs vier keer zo lang. Dit hangt af van welke bewerkingen je gebruikt om de gegevensset te verwerken.

In deze oefening gebruik je het pakket microbenchmark, dat is behandeld in de cursus Writing Efficient R Code.

Let op: getallen worden hier in wetenschappelijke notatie opgegeven $$1e5 = 1 * 10^5 = 100,000$$

Deze oefening maakt deel uit van de cursus

Schaalbare gegevensverwerking in R

Cursus bekijken

Oefeninstructies

  • Laad het pakket microbenchmark.
  • Gebruik de functie microbenchmark() om de sorteertijden van willekeurige vectors te vergelijken.
  • Roep plot() aan op mb.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Load the microbenchmark package
___

# Compare the timings for sorting different sizes of vector
mb <- ___(
  # Sort a random normal vector length 1e5
  "1e5" = sort(rnorm(1e5)),
  # Sort a random normal vector length 2.5e5
  "2.5e5" = sort(rnorm(2.5e5)),
  # Sort a random normal vector length 5e5
  "5e5" = sort(rnorm(5e5)),
  "7.5e5" = sort(rnorm(7.5e5)),
  "1e6" = sort(rnorm(1e6)),
  times = 10
)

# Plot the resulting benchmark object
___(mb)
Code bewerken en uitvoeren