Профилирование vtype_dict #33
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
В данный момент ноды хэш таблиц vtype_dict основаны на красно-черных деревьях, что ведет к увеличению скорости доступа к элементам, при высоком уровне коллизий. Однако, это ведет и к снижению скорости вставки/удаления элементов при высоком уровне коллизий (в случаях, когда не более 2-3 значений приходится на одну ячейку хэша, скорость вставки/удаления падает не столь значительно).
Основное преимущество данного подхода: более эффективные методы поиска наибольших/наименьших значений (что используется, например, при высчитывании хэша vtype_dict).
Это практически не влияет на скорость перехэширования таблиц (в худшую сторону), однако, все же, требует большее количество памяти для одной ноды.
В рамках условно-идеального состояния таблиц (без коллизий), данный тип нод никаким образом не проявляет себя и его использование носит спорный характер.
Требуется рассмотреть возможность
Задача: переделать ноды vtype_dict, основанные на rbtree, на односвязный список, так как это покрывает большее количество опитимизационных кейсов.
Выполнено