Информация об изменениях

Сообщение Re[3]: Правильный GetHashCode для сравнения byte[] по значен от 25.12.2016 8:02

Изменено 25.12.2016 8:06 AndrewVK

Здравствуйте, Shmj, Вы писали:

S>А вот и нет. Операция сравнения работает пока не найдет разные элементы. То есть она редко перебирает все элементы массива. А вот неправильная операция вычисления хеш-кода перебирает элементы массива во всех случаях. По этому вместо ускорения получаем замедление.


Сравнение это не единственная проблема коллизий. У ConcurrentDictionary, к примеру, коллизия приводит к использованию лока, в то время как без коллизий оно lock free.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Re[3]: Правильный GetHashCode для сравнения byte[] по значен
Здравствуйте, Shmj, Вы писали:

S>А вот и нет. Операция сравнения работает пока не найдет разные элементы. То есть она редко перебирает все элементы массива. А вот неправильная операция вычисления хеш-кода перебирает элементы массива во всех случаях. По этому вместо ускорения получаем замедление.


А ничего что сравнивать придется со всем содержимым бакета, пока совпадение не найдется, а не с единственным кандидатом?
Ну и сравнение это не единственная проблема коллизий. У ConcurrentDictionary, к примеру, коллизия приводит к использованию лока, в то время как без коллизий оно lock free.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>