我在研究快速排序和合並排序的時候突然想到這兩個算法是否可以利用多核來進一步加快運行效率~
因為它們是采用了分治法的思想,分解成多個互相獨立的子排序,與其他需要順序執行的排序算法不同~
沒經過系統學習~正在看算法導論~勿噴~
合並排序比較適合多核加速,jdk8的新Arrays.parallelSort API就是這麼實現的,quick sort從理論上來說也可以利用多核加速,不過由於其對於不同數據的split有可能出現線性的特點,理論上不是能保證得到加速。
另外,對於多核加速,期望值不要太高,基於我們對Arrays.parallelSort的測試,4核cpu最多能達到3.2倍的速度,而16核只能達到11.8倍。主要是由於現階段的split之後還有merge。