OpenJDK使用Intel的x86-simd-sort将数据排序速度提高 7~15 倍
💡
原文中文,约700字,阅读约需2分钟。
📝
内容提要
英特尔发布了使用AVX-512的超快排序库x86-simd-sort 3.0,可提高Numpy中数据类型的排序速度。OpenJDK已将该加速排序代码的修改版本合并到参考JDK代码库中,32位数据排序速度提高了15倍,64位数据排序速度提高了约7倍。
🎯
关键要点
- 英特尔发布了使用AVX-512的超快排序库x86-simd-sort 3.0。
- Numpy中使用x86-simd-sort时,16位到64位数据类型的排序速度提高了10~17倍。
- x86-simd-sort 3.0使得Numpy中的ng.partition速度提高了25倍(16位)、17倍(32位)、8倍(64位)。
- 新的avx512_argselect方法使numpy np.argpartition的速度提高了6.5倍。
- OpenJDK已将该加速排序代码的修改版本合并到参考JDK代码库中。
- 合并后,32位数据排序速度提高了15倍,64位数据排序速度提高了约7倍。
- x86-simd-sort 3.0添加了新的avx512_argselect方法,用于计算arg nth_element。
➡️