Как время обработки зависит от размера данных?
Если вы обрабатываете все элементы двух наборов данных, и один из них больше, то на его обработку уйдёт больше времени. Однако важно понимать, что прирост времени не всегда прямо пропорционален разнице в размере. То есть если один набор данных в два раза больше другого, это не значит, что он будет обрабатываться вдвое дольше — возможно, в 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)