Huawei Contributes Some Glibc AArch64 Performance Optimizations
Huawei isn't known as much of an upstream contributor to the GNU toolchain and as far as GNU C Library (glibc) commits go prior to Thursday had just authored three patches from a Huawei emailing address. But that count more than doubled thanks to some optimizations they have successfully landed upstream.
Huawei has contributed optimized implementations of strlen_asimd, memrchr, strnlen, strcpy, and memcpy for Glibc's AArch64 (64-bit ARM) code that stands to benefit for all modern Arm SoCs and just not Huawei hardware. For strcpy it's possible to be 5~18% faster, strnlen in the range of 11~24% for longer strings, and other optimized functions in the range of upper single digit percentages to around ~20% in best case scenarios.
Beyond those generic AArch64 GNU C Library optimizations, also upstreamed were an optimized memset implementation specific to the Kunpeng processor.
The Huawei work can be seen here and hopefully we'll see them contributing more to the GNU toolchain moving forward.
Huawei has contributed optimized implementations of strlen_asimd, memrchr, strnlen, strcpy, and memcpy for Glibc's AArch64 (64-bit ARM) code that stands to benefit for all modern Arm SoCs and just not Huawei hardware. For strcpy it's possible to be 5~18% faster, strnlen in the range of 11~24% for longer strings, and other optimized functions in the range of upper single digit percentages to around ~20% in best case scenarios.
Beyond those generic AArch64 GNU C Library optimizations, also upstreamed were an optimized memset implementation specific to the Kunpeng processor.
The Huawei work can be seen here and hopefully we'll see them contributing more to the GNU toolchain moving forward.
21 Comments