开始使用免费开始使用

处理时间如何随数据规模变化?

如果您要处理两个数据集的所有元素,其中一个更大,那么更大的数据集通常会花更长时间处理。不过,需要注意的是,所需时间的增加并不总是与数据规模的增大成正比。也就是说,如果两个数据集中有一个是另一个的 2 倍大,也不能保证它的处理时间一定是 2 倍。可能只慢 1.5 倍,也可能慢到 4 倍。这取决于处理数据集所用的具体操作。

在本练习中,您将使用 microbenchmark 包,它在《Writing Efficient R Code》课程中已有介绍(https://www.datacamp.com/courses/writing-efficient-r-code)。

注意:数字使用科学计数法表示 $$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)
编辑并运行代码