← Все проекты
Проект / C++

esutcu/planb-lpm: planb-lpm — быстрый поиск IPv6-префиксов на C++ с AVX-512

Готовая библиотека для сверхбыстрого поиска самого длинного совпадающего префикса в IPv6-сетях, которую можно встроить в свои проекты.

Это независимая переработка алгоритма PlanB из научной статьи в виде портативной библиотеки на C++17 с MIT-лицензией. Проект добавляет недостающие в оригинале возможности: кроссплатформенность, Python-интерфейс, тесты и поддержку динамических таблиц...

★ 28 C++ Форки 2 Issue 1 Оценка 8/10 Карточка проверена

Для кого это

Для разработчиков сетевого ПО, исследователей компьютерных сетей и преподавателей, которым нужна производительная реализация алгоритмов маршрутизации.

Проблема / задача

Оригинальный код из научной статьи PlanB был привязан к Linux и AVX-512, не имел лицензии и не подходил для реальных проектов.

Как это работает

Библиотека реализует алгоритм PlanB — линейное B+-дерево, оптимизированное для поиска IPv6-префиксов. Она автоматически использует AVX-512 команды для параллельной обработки, а при их отсутствии переключается на скалярный режим. Поддерживает динамическое обновление таблиц маршрутизации без блокировок и имеет Python-биндинги для удобства использования.

Что видно по README

Это независимая переработка алгоритма PlanB из научной статьи в виде портативной библиотеки на C++17 с MIT-лицензией. Проект добавляет недостающие в оригинале возможности: кроссплатформенность, Python-интерфейс, тесты и поддержку динамических таблиц маршрутизации.

Ключевые возможности

Заголовочная библиотека на C++17 без внешних зависимостейАвтоматическое определение AVX-512 с fallback на скалярный кодPython-биндинги через pybind11 для использования из скриптовДинамические таблицы маршрутизации с wait-free lookupПолные тесты корректности против эталонного алгоритма

Технологии

C++17AVX-512 SIMDpybind11CMakeC++Express

Интересный факт

Проект родился из разочарования автора в оригинальной реализации научной статьи — он взял хорошую идею и сделал её действительно пригодной для использования в реальных проектах.

С чего начать

  • Клонируйте репозиторий
  • Запустите тесты: ctest --test-dir build

Оценка GitRadar

Удобство
8/10
Свежесть
9/10
Перспектива
7/10
Монетизация
6/10
Общая оценка
8/10

Вердикт GitRadar

Стоит пробовать, если вам нужна производительная реализация LPM для IPv6 — это качественный инженерный проект с хорошей документацией и тестами.

Наблюдения по обновлениям

Проект активно развивается — есть подробные бенчмарки, Python-интерфейс и качественная документация. Хотя звёзд пока немного, кодовая база выглядит зрелой.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/esutcu/planb-lpm
Лицензия
NOASSERTION
Создан на GitHub
20 апреля 2026 г.
Последнее обновление репо
20 апреля 2026 г.
Последняя проверка GitRadar
20 апреля 2026 г.
Изученные файлы
README.md, src/main.cpp, pyproject.toml, Makefile, src/ipv6_util.hpp, examples/gen_sweep.sh

FAQ

Что это такое?

Библиотека для быстрого поиска самого длинного совпадающего префикса в IPv6-сетях на основе алгоритма PlanB.

Для кого подходит?

Для разработчиков сетевого оборудования, исследователей, создателей SDN-контроллеров и преподавателей компьютерных сетей.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с esutcu/planb-lpm?

Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.