MulaiMulai sekarang secara gratis

Bagaimana waktu pemrosesan berubah menurut ukuran data?

Jika Anda memproses semua elemen dari dua himpunan data, dan salah satunya lebih besar, maka himpunan data yang lebih besar akan memerlukan waktu lebih lama untuk diproses. Namun, penting untuk disadari bahwa seberapa jauh lebih lama tidak selalu berbanding lurus dengan seberapa besar perbedaannya. Artinya, jika Anda memiliki dua himpunan data dan salah satunya berukuran dua kali lipat dari yang lain, tidak ada jaminan bahwa yang lebih besar akan memerlukan waktu dua kali lebih lama untuk diproses. Bisa saja 1,5 kali lebih lama atau bahkan empat kali lebih lama. Hal ini bergantung pada operasi yang digunakan untuk memproses himpunan data tersebut.

Dalam latihan ini, Anda akan menggunakan paket microbenchmark, yang telah dibahas dalam kursus Writing Efficient R Code.

Catatan: Angka dinyatakan menggunakan notasi ilmiah $$1e5 = 1 * 10^5 = 100,000$$

Latihan ini adalah bagian dari kursus

Pemrosesan Data yang Dapat Diskalakan di R

Lihat Kursus

Petunjuk latihan

  • Muat paket microbenchmark.
  • Gunakan fungsi microbenchmark() untuk membandingkan waktu pengurutan vektor acak.
  • Panggil plot() pada mb.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode