При поиске в больших строках новый вариант оказался быстрее старого примерно в 4 раза (например, для строк в 1000 символов). Для строк небольшого размера эффективность новой реализации не столь значительна, но всё равно выше по сравнению с исходным вариантом. В ядре Linux размер обрабатываемых в memchr() строк достигает 512 байт. Прирост производительности для 512 байтовых строк, в ситуации, когда искомый символ находится в конце строки, составляет 20%.
Тестирование ядра 5.18 с новым вариантом «memchr()» для 32- и 64-разрядных архитектур не выявило каких-либо проблем. Общий прирост производительности подсистем ядра при использовании оптимизированного варианта «memchr()» пока не оценивался, как не анализировалась и целесообразность замены реализации (в коде ядра вызов функции memchr() встречается 129 раз, в том числе в коде драйверов и файловых систем).
Источник: http://www.opennet.ru/opennews/art.shtml?num=57493