Commit Graph

9 Commits

Author SHA1 Message Date
Hans Kristian Rosbach
9953f12e21 Move update_hash(), insert_string() and quick_insert_string() out of functable
and remove SSE4.2 and ACLE optimizations. The functable overhead is higher
than the benefit from using optimized functions.
2024-02-23 13:34:10 +01:00
Hans Kristian Rosbach
9a1722a22f Move insert_string and update_hash C fallbacks to arch/generic.
Also add missing insert_string dependencies to windows makefiles.
2024-01-19 16:58:53 +01:00
Nathan Moinvaziri
6948789969 Added rolling hash functions for hash table. 2021-06-25 20:09:14 +02:00
Hans Kristian Rosbach
cbc3962b93 Increase hash table size from 15 to 16 bits.
This gives a good performance increase, and usually also improves compression.
Make separate define HASH_SLIDE for fallback version of UPDATE_HASH.
2020-08-23 09:57:45 +02:00
Hans Kristian Rosbach
e7bb6db09a Replace hash_bits, hash_size and hash_mask with defines. 2020-08-23 09:57:45 +02:00
Nathan Moinvaziri
9b7a52352c Remove extra lines between functions and their comments. 2020-05-30 21:25:18 +02:00
Nathan Moinvaziri
07207681ed Simplify generic hash function using knuth's multiplicative hash. 2020-05-24 14:32:26 +02:00
Nathan Moinvaziri
0129e88cee Removed TRIGGER_LEVEL byte masking from INSERT_STRING and UPDATE_HASH due to poor performance on levels 6 and 9 especially with optimized versions of UPDATE_HASH.
From commit d306c75d3b:

.. we hash 4 bytes, instead of 3, for certain levels. This shortens the hash chains, and also improves the quality
of each hash entry.
2020-04-30 10:01:46 +02:00
Nathan Moinvaziri
69bbb0d823 Standardize insert_string functionality across architectures. Added unaligned conditionally compiled code for insert_string and quick_insert_string. Unify sse42 crc32 assembly between insert_string and quick_insert_string. Modified quick_insert_string to work across architectures. 2020-04-30 10:01:46 +02:00