НачатьНачать бесплатно

Как время обработки зависит от размера данных?

Если вы обрабатываете все элементы двух наборов данных, и один из них больше, то на его обработку уйдёт больше времени. Однако важно понимать, что прирост времени не всегда прямо пропорционален разнице в размере. То есть если один набор данных в два раза больше другого, это не значит, что он будет обрабатываться вдвое дольше — возможно, в 1,5 раза или даже в четыре раза дольше. Всё зависит от того, какие операции применяются к данным.

В этом упражнении вы будете использовать пакет microbenchmark, который рассматривался в курсе «Эффективный код на R».

Примечание: числа записаны в научной нотации: $$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)
Редактировать и запускать код