Cum variază timpul de procesare în funcție de dimensiunea datelor?
Dacă procesezi toate elementele a două seturi de date, iar unul dintre ele este mai mare, atunci acel set de date va dura mai mult să fie procesat. Este important să înțelegi însă că durata suplimentară nu este întotdeauna direct proporțională cu diferența de dimensiune. Cu alte cuvinte, dacă un set de date este de două ori mai mare decât altul, nu înseamnă neapărat că va dura de două ori mai mult să fie procesat – poate dura de 1,5 ori mai mult sau chiar de patru ori mai mult. Totul depinde de operațiile folosite pentru a procesa setul de date.
În acest exercițiu, vei folosi pachetul microbenchmark, care a fost prezentat în cursul Writing Efficient R Code.
Notă: Numerele sunt specificate în notație științifică $$1e5 = 1 * 10^5 = 100.000$$
Acest exercițiu face parte din cursul
Procesarea scalabilă a datelor în R
Instrucțiuni pentru exercițiu
- Încarcă pachetul
microbenchmark. - Folosește funcția
microbenchmark()pentru a compara timpii de sortare ai unor vectori aleatori. - Apelează
plot()pemb.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)