[Перевод] Вы можете победить бинарный поиск
В этой статье речь пойдёт не просто об очередном алгоритме, а о том, как можно обойти классический бинарный поиск. Казалось бы, что может быть эффективнее старого доброго деления массива пополам для нахождения значения в отсортированных данных? Однако можно пойти дальше. В этой статье будет рассказываться о самодельном алгоритме «SIMD Quad» - квадратичном поиске. Идея возникла из необходимости быстро искать 16-битные целые числа в массивах размером до 4096 элементов — именно такие структуры лежат в основе популярного формата Roaring Bitmap. Вместо того чтобы на каждом шаге сравнивать искомый элемент только с одной серединой интервала, авторский алгоритм использует две ключевые аппаратные особенности современных процессоров. Во-первых, это SIMD-инструкции, позволяющие за раз сравнить до 16 элементов. Во-вторых, это распараллеливание работы с памятью, которое даёт возможность безболезненно делить массив не на две, а сразу на четыре части. Так родился гибрид, который сначала выполняет учетверённый поиск по блокам, а затем находит нужный элемент с помощью векторных инструкций. Давайте разберёмся, как это работает и почему такой подход действительно позволяет превзойти бинарный поиск.
https://habr.com/ru/companies/timeweb/articles/1036538/
#c #c++ #simd #quad #бинарный_поиск #intel #llvm #gcc #apple #timeweb_статьи_перевод
🟢 Diplomacy | 5/10
🇺🇸 🇮🇳 🇦🇺
Quad foreign ministers meeting in New Delhi
Foreign ministers of the US, India, Australia, and Japan held a Quad meeting in New Delhi on May 26. US Secretary of State Marco Rubio also held bilateral meetings.
🟢 Diplomatic | 6/10
🇺🇸 🇮🇳 🇦🇺
Quad foreign ministers meet in New Delhi
The foreign ministers of the United States, India, Australia, and Japan held a meeting in New Delhi on May 26. U.S. Secretary of State Marco Rubio met with his Quad counterparts.
🟢 Military Cooperation | 7/10
🇺🇸 🇮🇳 🇦🇺
Quad announces new maritime surveillance initiative
Following the Quad foreign ministers meeting in New Delhi, the U.S., India, Japan, and Australia announced several major Indo-Pacific initiatives, including a new Indo-Pacific Maritime Surveillance Collaboration (IPMSC) to expand maritime monitoring and intelligence sharing.
#OSINT #NewsGroup #Quad #MaritimeSecurity #IndoPacific #IntelligenceSharing