SIMD enhancements for amd64
Links:
FreeBSD Foundation blog post URL: https://freebsdfoundation.org/blog/a-sneak-peek-simd-enhanced-string-functions-for-amd64/
simd(7) URL: https://man.freebsd.org/cgi/man.cgi?query=simd&sektion=7&manpath=FreeBSD+15.0-CURRENT
Work currently under acceptance testing URL: https://github.com/clausecker/freebsd-src/commits/acceptance-testing
Contact: Robert Clausecker <fuz@FreeBSD.org>
The project to enhance the libc with SIMD implementations of string functions for amd64 has now concluded. In total, SIMD implementations for 17 libc functions have been written, complemented by scalar implementations where needed. Through this rewrite, performance of these functions on strings with an average length of 64 characters was improved by an average factor of 5.54. In addition, 9 other library functions were rewritten to call into the SIMD-enhanced routines, conveying benefits without requiring additional assembly implementations. Please see the FreeBSD Foundation blog post linked above for more details.
Parts of the SIMD work are already found in the CURRENT branch. The rest is currently undergoing acceptance testing and will be merged if no problems emerge. It is planned to back port all improvements to 14-STABLE for inclusion into FreeBSD 14.1.
Sponsor: The FreeBSD Foundation
Last modified on: December 12, 2023 by Robert Clausecker