ÎncepețiÎncepe gratuit

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

Vezi cursul

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() pe mb.

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)
Editează și rulează codul