Hur varierar bearbetningstiden med datamängdens storlek?
Om du bearbetar alla element i två datamängder och den ena är större, tar den större datamängden längre tid att bearbeta. Det är dock viktigt att förstå att hur mycket längre tid det tar inte alltid är direkt proportionellt mot hur mycket större datamängden är. Det vill säga: om en datamängd är dubbelt så stor som en annan, är det inte säkert att den tar dubbelt så lång tid att bearbeta. Det kan ta 1,5 gånger längre, eller till och med fyra gånger längre. Det beror på vilka operationer som används.
I den här övningen använder du paketet microbenchmark, som introducerades i kursen Writing Efficient R Code.
Obs: Tal anges med vetenskaplig notation $$1e5 = 1 * 10^5 = 100 000$$
Den här övningen är en del av kursen
Skalbar databehandling i R
Övningsinstruktioner
- Ladda paketet
microbenchmark. - Använd funktionen
microbenchmark()för att jämföra sorteringstiderna för slumpmässiga vektorer. - Anropa
plot()påmb.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)