主要观点:
- Stan Laurel 和 Oliver Hardy 身材不同,文中讲述了一个工作中遇到的性能问题。
- 数据处理工作有一系列计数去重操作,通过复用 map 提高性能,但随着数据变大,作业完成时间变长。
- 分析发现数据分布有异常值,导致清除 map 操作变慢,而清除 map 仍比重新分配 map 快,但大 map 清除更慢。
- 不同任务数据分布不同,导致 map 容量变化,清除时间变长,吞吐量显著下降。
- 解决方案是在清除新任务的 map 前检查其容量,过大则重新分配 map,最终使用两个 map 解决问题。
关键信息:
- 工作中的数据处理作业及性能问题表现。
- 数据分布异常及对 map 操作的影响。
- 测试不同 map 操作的性能。
- 最终采用两个 map 解决吞吐量问题。
重要细节:
- 过去复用 map 比每次创建新 map 快。
- 作业完成时间随数据变大而变长,出现明显的吞吐量下降。
- 测试不同大小 map 清除和分配的性能数据。
- 任务数据分布变化导致 map 容量和清除时间变化。
- 有提议添加 map 的 cap 但被拒绝。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。