Компания Google открыла код hash-функций CityHash
Код CityHash был написан для реализации высокопроизводительных хэш-таблиц, используемых для организации хранения баз ключ-значение, для использования в криптографии он не предназначен. Функция CityHash128 оптимизирована для строк размером в несколько сотен байт. Оптимизация кода, использование 64-разрядных регистров, обеспечение параллелизма выполнения на уровне инструкций и быстрый доступ к невыровненным областям памяти позволили добиться значительного превосходства в производительности по сравнению с другими реализациями хэшей. Ценой производительности является достаточно сильная запутанность кода.
Алгоритм работы CityHash подразумевает смешивание битов входящего потока. По сравнению с прошлыми реализациями высокопроизводительных хэшей от компании Google, CityHash демонстрирует в реальных условиях ускорение как минимум на 30%. В некоторых ситуациях наблюдается увеличение производительности до двух раз. Достаточная степень уникальности сгенерированных хэшей, подтверждена статистическими исследованиями.
Источник: http://www.opennet.ru/opennews/art.shtml?num=30218
|
0 | Tweet | Нравится |
|