aboutsummaryrefslogtreecommitdiffstats
path: root/java/debug.sh
diff options
context:
space:
mode:
authorMattias EngdegÄrd2024-02-13 14:52:39 +0100
committerMattias EngdegÄrd2024-02-14 14:29:54 +0100
commit3a93e301ddc913758abe05c876aa3016e8b23af8 (patch)
tree60e17da4c915a15af930efe1c7fc0bc8532d58fb /java/debug.sh
parentdecfdd4f1a1e3b1539eafdaaf11191e8477f0636 (diff)
downloademacs-3a93e301ddc913758abe05c876aa3016e8b23af8.tar.gz
emacs-3a93e301ddc913758abe05c876aa3016e8b23af8.zip
String hashing improvements (spread and performance)
Fix gaps in hashing coverage in the middle and end of even fairly short strings. E.g., `outline-1`, `outline-2` etc all hashed to the exact same value but with the patch, there are no collisions among the ~160000 symbols in the Emacs tree. This change also improves average hashing speed by using fewer mixing operations. * src/fns.c (hash_string): Use unit stride for fairly short strings, while retaining the cap of 8 samples for long ones. Always hash the last word to ensure that the end of the string is covered. For strings shorter than a word, use fewer loads and a single reduction step.
Diffstat (limited to 'java/debug.sh')
0 files changed, 0 insertions, 0 deletions