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
Oefeninstructies
- Laad het pakket
microbenchmark. - Gebruik de functie
microbenchmark()om de sorteertijden van willekeurige vectors te vergelijken. - Roep
plot()aan opmb.
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)