Да, эти функции намного быстрее с инструкциями SSE.Было бы неплохо, если бы ваша библиотека времени выполнения / компоненты компилятора включали оптимизированные версии, но это не кажется распространенным явлением.
У меня есть пользовательская SIMD memchr
, которая является адскимбыстрее, чем версия библиотеки.Особенно, когда я нахожу первый из 2 или 3 символов (например, я хочу знать, есть ли в этой строке текста уравнение, я ищу первый из =
, \n
, \r
).
С другой стороны, функции библиотеки хорошо протестированы, поэтому писать свои собственные стоит только в том случае, если вы их часто вызываете, а профилировщик показывает, что они составляют значительную долю вашего процессорного времени.