LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Мне почему-то кажется, что ты какой-то ерундой страдаешь. На доставке пакета там столько машинерии задействовано, что твой десяток обновлений указателей на этом фоне вообще не заметен будет.

Ты прям уже померил и замерил серьёзный расход чего-то на этой операции?

Альтернатива дереву это что-то вроде array[timestamp - offset]. Т.е. создаёшь массив из указателей, вставляешь по нужному индексу свой указатель. Если там уже вставлен - сдвигаешься куда-то (или делаешь связный список). Таких массивов держишь две штуки, к примеру первый на 0-1 секунды вперёд, второй на 1-2 секунды вперёд и меняешь их местами по мере истечения времени. Тут сложность O(1) и по памяти может быть будет лучше в кеши укладываться. Но вряд ли это всё имеет смысл.

Исходная версия vbr, :

Мне почему-то кажется, что ты какой-то ерундой страдаешь. На доставке пакета там столько машинерии задействовано, что твой десяток обновлений указателей на этом фоне вообще не заметен будет.

Ты прям уже померил и замерил серьёзный расход чего-то на этой операции?

Альтернатива дереву это что-то вроде array[timestamp - offset]. Т.е. создаёшь массив из указателей, вставляешь по нужному индексу свой указатель. Если там уже вставлен - сдвигаешься куда-то (или делаешь связный список). Таких массивов держишь две штуки, к примеру первый на 0-1 секунды вперёд, второй на 1-2 секунды вперёд и меняешь их местами по мере истечения времени. Тут сложность O(1) и по памяти будет лучше в кеши укладываться. Но вряд ли это всё имеет смысл.