August 22nd, 2024

Intel Further Speeds Up Strnlen() in the GNU C Library for Recent Intel/AMD CPUs

Intel has optimized the strnlen() function in glibc for better performance on modern CPUs, unifying implementations and showing significant improvements in benchmark tests. The update will be in glibc 2.41.

Read original articleLink Icon
Intel Further Speeds Up Strnlen() in the GNU C Library for Recent Intel/AMD CPUs

Intel has made further optimizations to the strnlen() function in the GNU C Library (glibc), enhancing performance for recent Intel and AMD CPUs. The update, merged this week, unifies the EVEX and EVEX512 implementations of strnlen(), which is used to determine the length of a fixed-size string. Matthew Sterrett from Intel noted that this unification reduces the number of implementations and introduces minor optimizations that improve performance. Benchmark tests conducted on an Intel Core i9 7900X Skylake X CPU showed a geometric mean improvement of 0.881 for strnlen-evex and 0.953 for strnlen-evex512 compared to previous versions. This optimized code will be included in the upcoming glibc 2.41 release, scheduled for stable release in February.

- Intel has optimized the strnlen() function in the GNU C Library for better performance on modern CPUs.

- The update unifies the EVEX and EVEX512 implementations, reducing complexity.

- Benchmark tests indicate significant performance improvements over previous implementations.

- The optimized code will be part of the glibc 2.41 release in February.

- Intel continues to focus on software optimizations to enhance CPU performance.

Link Icon 1 comments