Здравствуйте, -prus-, Вы писали:
P>Подскажите плиз (может уже обсуждалось) чего почитать или механизм, который позволит максимально быстро ваще прям за минимум тактов
искать свободный порт в диапазоне?
Непонятно. Диапазон считается известным изначально и не меняется во время работы? Или каждый запрос на поиск содержит свой уникальный диапазон (то есть сначала идёт запрос на поиск свободного порта только из диапазона [a, b], а затем только из диапазона [c, d] для произвольных значений переменных a-d)?
В первом случае стек (или очередь) со всеми свободными адресами хорошо подойдет. Операция Pop — взять и пометить как занятый, Push — пометить как свободный.
Во втором случае можно использовать древовидные структура данных — trie или дерево сегментов (
вот похожий пример использования). Разумеется так как максимальное значение адреса известно и ограничено небольшим числом, то вся структура просто делается статической и занимает чуть больше битового массива соответствующей длины.