데이터 크기에 따라 처리 시간은 어떻게 달라지나요?
두 개의 데이터셋의 모든 요소를 처리할 때, 하나가 더 크면 더 오래 걸립니다. 하지만 얼마나 더 오래 걸리는지는 항상 크기에 정확히 비례하지는 않는다는 점이 중요합니다. 즉, 두 데이터셋 중 하나가 다른 하나의 두 배 크기라고 해서 처리 시간이 반드시 두 배가 되지는 않습니다. 1.5배가 걸릴 수도 있고, 네 배가 걸릴 수도 있습니다. 이는 데이터셋을 처리하는 데 사용하는 연산에 따라 달라집니다.
이 연습 문제에서는 Writing Efficient R Code 코스에서 다룬 microbenchmark 패키지를 사용합니다.
참고: 숫자는 과학적 표기법을 사용합니다. $$1e5 = 1 * 10^5 = 100,000$$
이 연습은 강의의 일부입니다
R에서 확장 가능한 데이터 처리
연습 안내
microbenchmark패키지를 로드하세요.microbenchmark()함수를 사용해 무작위 벡터의 정렬 시간을 비교하세요.mb에 대해plot()을 호출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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)