Glibc 的 strncasecmp / strcasecmp 获取 AVX2 & EVEX 优化版本,丢弃 AVX

GNU C 库 (glibc) 发布了一组 23 个补丁,提供优化的 AVX2 和 EVEX 版本的 strcasecmp/strncasecmp 函数,同时放弃对原始 AVX 实现的支持。

上周末,Noah Goldstein的一个补丁系列被合并到 Glibc Git 中,为这个在 Linux 系统上广泛使用的 C 库提供了 str{n}casecmp 函数(字符串比较常用函数)的 AVX2 和 EVEX 优化版本。

这些功能的 AVX2 优化版本比 SSE4.2 的实现时间少了大约三分之一。同时,在针对 SSE 4.2 代码路径的相同基准测试中,这些函数的 EVEX 版本花费的时间减少了 38%。

image.php_-117

现在有了 AVX2 实现,strcasecmp/strncasecmp 函数的原始高级矢量扩展 (AVX) 版本将被删除。该 AVX 版本正在被删除,因为它的性能类似于 SSE 4.2 实现的性能,并且 AVX2 在现代版本中得到广泛支持。主要受益于 AVX(1) 版本的处理器是 Sandy Bridge 和 Ivy Bridge,它们“已经过时”,从而将代码从 Glibc 代码库中解放出来。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun144480.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年3月31日 下午12:25
下一篇 2022年3月31日 下午12:32

相关推荐