summaryrefslogtreecommitdiff
path: root/insert_string.c
Commit message (Collapse)AuthorAgeFilesLines
* Inline all uses of quick_insert_string*/quick_insert_value*.Hans Kristian Rosbach2025-12-071-12/+8
| | | | | | | | Inline all uses of update_hash*. Inline insert_string into deflate_quick, deflate_fast and deflate_medium. Remove insert_string from deflate_state Use local function pointer for insert_string. Fix level check to actually check level and not `s->max_chain_length <= 1024`.
* Add quick_insert_value for optimized hash insertionNathan Moinvaziri2025-12-011-0/+1
| | | | | | | | | Reduces the number of reads by two Co-authored-by: Brian Pane <brianp@brianp.net> trifectatechfoundation/zlib-rs#374 trifectatechfoundation/zlib-rs#375
* Minor optimization of insert_stringHans Kristian Rosbach2025-08-201-1/+1
|
* Move update_hash(), insert_string() and quick_insert_string() out of functableHans Kristian Rosbach2024-02-231-0/+21
| | | | | and remove SSE4.2 and ACLE optimizations. The functable overhead is higher than the benefit from using optimized functions.
* Move insert_string and update_hash C fallbacks to arch/generic.Hans Kristian Rosbach2024-01-191-21/+0
| | | | Also add missing insert_string dependencies to windows makefiles.
* Added rolling hash functions for hash table.Nathan Moinvaziri2021-06-251-12/+8
|
* Increase hash table size from 15 to 16 bits.Hans Kristian Rosbach2020-08-231-1/+3
| | | | | This gives a good performance increase, and usually also improves compression. Make separate define HASH_SLIDE for fallback version of UPDATE_HASH.
* Replace hash_bits, hash_size and hash_mask with defines.Hans Kristian Rosbach2020-08-231-1/+1
|
* Remove extra lines between functions and their comments.Nathan Moinvaziri2020-05-301-1/+0
|
* Simplify generic hash function using knuth's multiplicative hash.Nathan Moinvaziri2020-05-241-10/+2
|
* Removed TRIGGER_LEVEL byte masking from INSERT_STRING and UPDATE_HASH due to ↵Nathan Moinvaziri2020-04-301-11/+4
| | | | | | | | | poor performance on levels 6 and 9 especially with optimized versions of UPDATE_HASH. From commit d306c75d3bb36cba73aec9b3b3ca378e31d1799e: .. we hash 4 bytes, instead of 3, for certain levels. This shortens the hash chains, and also improves the quality of each hash entry.
* Standardize insert_string functionality across architectures. Added ↵Nathan Moinvaziri2020-04-301-0/+39
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.