开始使用免费开始使用

用 microbenchmark 评估收入计算

您在一家线上零售商担任数据分析师。您已经查询了某月不同商品的销售数据。这些数据以列表 ls_sales 的形式放在工作空间中。列表的每个元素是某个商品的收入向量。

您想查看每日收入的累积增长情况。这需要计算累积和。Base R 提供了函数 cumsum() 可完成该任务。不过您也想评估并行化是否有帮助。您将把 cumsum() 分别以顺序方式和并行方式应用到 ls_sales 的每个元素上,并比较结果。parallelmicrobenchmark 包已为您加载。

本练习是课程的一部分

R 并行编程

查看课程

练习说明

  • 将顺序版和并行版作为参数传给一次 microbenchmark() 调用。
  • 生成一个包含可用内核数减去 2 的集群。
  • 使用该集群通过 parLapply() 并行地对 ls_sales 应用 cumsum()
  • 计算完成后停止该集群。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Pass the code to microbenchmark
___
  
  "lapply" = lapply(ls_sales, cumsum),
  
  "parLapply" = {
    # Make a cluster of all cores minus two
    cluster <- ___
    # Use cluster to apply in parallel
    parLapply(cluster, ___, ___)
    # Stop cluster
    ___
  },
  times = 3
___
编辑并运行代码