about hash
This commit is contained in:
@@ -216,3 +216,6 @@ __marimo__/
|
||||
|
||||
# Streamlit
|
||||
.streamlit/secrets.toml
|
||||
|
||||
alt-rpm
|
||||
set.c
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Notes
|
||||
|
||||
## Hash
|
||||
|
||||
в данный момент используется Jenkins OAAT. Считается чуть устаревшим(check), главным аналогом является:
|
||||
|
||||
https://github.com/cyan4973/xxhash
|
||||
|
||||
xxHash64 (XXH64): относительно простая имплементация на си, хвалят за скорость, 64 бит, параллель
|
||||
|
||||
необходимы тесты и графики:
|
||||
|
||||
1. насколько быстрее/медленнее
|
||||
2. коллизии на наборе букв в сравнении с рандомными данными
|
||||
3. коллизии у первого и второго хэшей между собой
|
||||
|
||||
> В XXH3 внутренний цикл, который оптимально обрабатывается векторизацией. Благодаря этому функция использует аппаратную поддержку на наборах инструкций SSE2, AVX2 и NEON. Производительность зависит от комилятора. Неожиданно оказалось, что версия, скомпилированная clang, намного превосходит остальные. Ян Колле даже подумал, что производительность хеш-функции здесь превысит пропускную способность памяти. Этой версии на графике соответствует пунктирная линия.
|
||||
|
||||
есть ещё cityhash от гугла, но она c++
|
||||
|
||||
в случае XXH64 строк кода ~200, можно вставить в файл
|
||||
в случае XXH3 строк кода ~2к, стоит использовать библиотеку напрямую, бессмысленно
|
||||
Reference in New Issue
Block a user