使用 java 代码多次测试,不使用插入排序优化反而更快
来源:3-3 归并排序法的优化
walkingway
2018-03-30
经过多次测试不使用下面插入排序的代码反而速度更快
if (r-l<15) { InsertionSort.sort(arr, l, r); }
虽然也差距不大,10w 个随机数排序,未优化的反而平均快 50 ms 左右
写回答
1回答
-
liuyubobobo
2018-03-30
有可能,一方面可能和Java的语言版本有关。不同版本的Java,JVM有不同程度或者不同侧重的优化,比如这个问答中的情况:https://coding.imooc.com/learn/questiondetail/18545.html
另外,也看测试方式。严谨一些建议尝试多次测试取平均值的方式试试看?看以参考这个问答:https://coding.imooc.com/learn/questiondetail/45075.html 其中提供了一个链接,我用多次测试取平均值的方式对几种排序算法又做了比较,可以参考。
另外,对这个优化,对多小的区间选择走插入排序,也会对性能产生影响,可以尝试改变15这个值试试看,相信是个很有意思的实验:)
00
相似问题