Telegram Group & Telegram Channel
SIMD Binary Search Tree

Этот проект представляет собой бинарное дерево поиска, реализованное с использованием SIMD-инструкций (SSE/AVX/AVX512).

Обычно бинарный поиск требует log₂(n) сравнений. Однако с SIMD можно сравнивать сразу несколько элементов за один проход, значительно снижая число итераций. Это приближает бинарный поиск к константному времени для малых массивов.

Особенности

* Однопроходный бинарный поиск с SIMD.
* Поддержка SSE, AVX2 и AVX512.
* Дерево хранится как массив (без указателей).
* Отложенная перестройка дерева (lazy rebuilding).
* Поддержка поиска и вставки.
* Поддержка произвольных типов через шаблоны C++.
* Совместимость с std::lower_bound / std::upper_bound.

Пример использования


#include "simd_binary_search_tree.hpp"

simd_tree::Tree<int> tree;
tree.insert(10);
tree.insert(5);
tree.insert(15);

auto result = tree.lower_bound(9); // -> 10


Производительность

Проект демонстрирует прирост производительности по сравнению со стандартными алгоритмами STL при поиске в небольших отсортированных массивах, особенно на AVX512.

Структура

* Tree<T> — основной шаблонный класс.
* insert(T) — вставка элемента.
* lower_bound(T) — найти первое значение не меньше заданного.
* upper_bound(T) — найти первое значение больше заданного.

https://clement-jean.github.io/simd_binary_search_tree/

👉 @golang_lib



tg-me.com/golang_lib/481
Create:
Last Update:

SIMD Binary Search Tree

Этот проект представляет собой бинарное дерево поиска, реализованное с использованием SIMD-инструкций (SSE/AVX/AVX512).

Обычно бинарный поиск требует log₂(n) сравнений. Однако с SIMD можно сравнивать сразу несколько элементов за один проход, значительно снижая число итераций. Это приближает бинарный поиск к константному времени для малых массивов.

Особенности

* Однопроходный бинарный поиск с SIMD.
* Поддержка SSE, AVX2 и AVX512.
* Дерево хранится как массив (без указателей).
* Отложенная перестройка дерева (lazy rebuilding).
* Поддержка поиска и вставки.
* Поддержка произвольных типов через шаблоны C++.
* Совместимость с std::lower_bound / std::upper_bound.

Пример использования


#include "simd_binary_search_tree.hpp"

simd_tree::Tree<int> tree;
tree.insert(10);
tree.insert(5);
tree.insert(15);

auto result = tree.lower_bound(9); // -> 10


Производительность

Проект демонстрирует прирост производительности по сравнению со стандартными алгоритмами STL при поиске в небольших отсортированных массивах, особенно на AVX512.

Структура

* Tree<T> — основной шаблонный класс.
* insert(T) — вставка элемента.
* lower_bound(T) — найти первое значение не меньше заданного.
* upper_bound(T) — найти первое значение больше заданного.

https://clement-jean.github.io/simd_binary_search_tree/

👉 @golang_lib

BY Библиотека Go (Golang) разработчика




Share with your friend now:
tg-me.com/golang_lib/481

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Newly uncovered hack campaign in Telegram

The campaign, which security firm Check Point has named Rampant Kitten, comprises two main components, one for Windows and the other for Android. Rampant Kitten’s objective is to steal Telegram messages, passwords, and two-factor authentication codes sent by SMS and then also take screenshots and record sounds within earshot of an infected phone, the researchers said in a post published on Friday.

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

telegram from in


Telegram Библиотека Go (Golang) разработчика
FROM USA