Arm Developer Provides More Glibc Optimizations - Memem & Strstr

Written by Michael Larabel in Arm on 17 June 2019 at 07:11 AM EDT. 8 Comments
Arm's Wilco Dijkstra landed some more optimizations this past week in the Glibc development code for the upcoming GNU C Library 2.30 release.

Memmem is now faster on AArch64 by up to 6.6x times thanks to implementing a modified Horspool algorithm.

Similarly, the related strstr function also now should see improved performance thanks to its Horspool implementation. For strstr on AArch64, the performance is up to 5.8x faster for the basic_strstr and 3.7x for twoway_strstr.

At this code is a new algorithm implementation in Glibc's common code as opposed to architecture/instruction optimizations in the CPU-specific code, it's possible we may see nice performance benefits on other processors too for memmem/strstr, but the Arm developer obviously only provided numbers for their Cortex processors.

Other work that has been happening for Glibc 2.30 include Unicode 12.1 support, the linker now supports a --preload option for preloading shared objects as an alternative to the environment variable, new getdents64/gettid/tgkill functions, security improvements, and other updates.

Glibc 2.30 is expected for release around the start of August and thus should be able to make it in most autumn Linux distribution updates.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week