SIMD (Single Instruction Multiple Data) позволяет одним набором команд одновременно обрабатывать несколько элементов данных.
Без SIMD стандартный поиск символа выполняется около шести инструкций на символ, ограничиваясь скоростью процессора (~4 GB/s).
Скорость современных дисков (5–15 GB/s) может превосходить наивную реализацию поиска в памяти.
SIMD-реализация поиска (в библиотеке simdutf::find) использует около четырёх инструкций на блок из 16 байт и достигает до 110 GB/s, что в 20 раз быстрее.
Для достижения производительности выше скорости чтения с диска использование SIMD-инструкций становится необходимым.
Get notified when new stories are published for "Hacker News 🇷🇺 Русский"