diff --git a/articles/for-alt/article.md b/articles/for-alt/article.md index 843127e..6fe3a68 100644 --- a/articles/for-alt/article.md +++ b/articles/for-alt/article.md @@ -150,4 +150,26 @@ set-строка ### 4.5. Изменённый декодер -Оставляя изначальную идею слитого декодера, была написана его реимлементация, использующая более простую логику, но +Оставляя изначальную идею слитого декодера, была написана его реимлементация, использующая более простую логику, но использующая 64-битные блоки, а также упрощённую precompiled таблицу. (???) если есть результаты ускорения, сюда надо + +## 5. Прочие исследования + +В данной главе собраны исследования, которые не вошли непосредственно в реализацию новой версии, однако важны своими идеями и результатами. + +### 5.1. Реализация без промежуточной кодировки хэшей + +Первое направление - отказаться от `delta` и `Golomb-Rice` и хранить отсортированные усечённые хэши почти напрямую. Заметная часть времени при сравнении тратится на декодирование set-строки. Если сделать строку дешевле в декодировании, можно получить выигрыш на холодном сравнении и проигрыш в длине строки. + +(!!!) Результаты теста + +Также было рассмотрено исользование `Roaring Bitmap`, однако его эффективность достигается для плотных множеств, что не актуально при работе с хэш-функциями. + +### 5.2. Тестирование коллизий хэш-функций + +Отдельно проверялась идея заменить `Jenkins OAAT` на более современную хэш-функцию. По скорости на длинных строках Jenkins действительно проигрывает (!!!) + +Однако при тестировании коллизий оказалость, что все три функции на вероятностной побитовой карте показывают близкие к "идеальным" результаты. (!!!) + +## 6. Итоги + +(нужны ли..)