我坚定地清理地图,没有夸大其词 • 菲尔·珀尔的博客

主要观点:

  • Stan Laurel 和 Oliver Hardy 身材不同,文中讲述了一个工作中遇到的性能问题。
  • 数据处理工作有一系列计数去重操作,通过复用 map 提高性能,但随着数据变大,作业完成时间变长。
  • 分析发现数据分布有异常值,导致清除 map 操作变慢,而清除 map 仍比重新分配 map 快,但大 map 清除更慢。
  • 不同任务数据分布不同,导致 map 容量变化,清除时间变长,吞吐量显著下降。
  • 解决方案是在清除新任务的 map 前检查其容量,过大则重新分配 map,最终使用两个 map 解决问题。

关键信息:

  • 工作中的数据处理作业及性能问题表现。
  • 数据分布异常及对 map 操作的影响。
  • 测试不同 map 操作的性能。
  • 最终采用两个 map 解决吞吐量问题。

重要细节:

  • 过去复用 map 比每次创建新 map 快。
  • 作业完成时间随数据变大而变长,出现明显的吞吐量下降。
  • 测试不同大小 map 清除和分配的性能数据。
  • 任务数据分布变化导致 map 容量和清除时间变化。
  • 有提议添加 map 的 cap 但被拒绝。
阅读 7
0 条评论