【发布时间】:2016-01-18 09:34:23
【问题描述】:
假定要排序的数组比 CPU 上最大的缓存大得多(至少大两个数量级)。
由于快速排序涉及将高于枢轴的值移动到枢轴之上,反之亦然 反之亦然,我想它在排序的开始阶段对 CPU 缓存不是很友好?
在后期(小型子阵列)它可能是缓存友好的,但初始阶段的成本呢?
有没有人计算过一些关于缓存未命中和缓存命中的成本以及它如何影响快速排序的总体成本的公式?
【问题讨论】:
-
已经有大量关于缓存效果和排序的学术研究,很容易搜索到。这只是一个,感谢谷歌的感觉幸运按钮:diku.dk/forskning/performance-engineering/frederik
标签: algorithm sorting caching memory-management cpu