ПочатиПочніть безкоштовно

Як змінюється час обробки залежно від розміру даних?

Якщо ви обробляєте всі елементи двох наборів даних, і один з них більший, то більший набір даних оброблятиметься довше. Однак варто розуміти, що ця різниця не завжди прямо пропорційна збільшенню розміру. Тобто, якщо у вас є два набори даних, і один у два рази більший за інший, це не гарантує, що його обробка триватиме вдвічі довше. Це може бути у 1,5 раза довше або навіть у чотири рази довше. Усе залежить від операцій, які використовуються для обробки набору даних.

У цій вправі ви використаєте пакет microbenchmark, який розглядали в курсі Writing Efficient R Code.

Примітка: Числа подано в науковій нотації $$1e5 = 1 * 10^5 = 100,000$$

Ця вправа є частиною курсу

Масштабована обробка даних в R

Переглянути курс

Інструкції до вправи

  • Підключіть пакет microbenchmark.
  • Скористайтеся функцією microbenchmark(), щоб порівняти час сортування випадкових векторів.
  • Викличте plot() для mb.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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)
Редагувати та запускати код