mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-29 08:09:02 +00:00
4fd56724ad
This is about twice as fast as the current hash, and removes the need for double hashing (improving locality of reference). The hash function is based on Bob Jenkins' design, slightly adapted wherever Make needs to hash NUL-terminated strings. The old hash function is kept for case-insensitive hashing. This saves 8.5% on QEMU's no-op build (from 12.87s to 11.78s). * configure.ac: Check endianness. * hash.c (rol32, jhash_mix, jhash_final, JHASH_INITVAL, sum_get_unaligned_32, jhash): New. * hash.h (STRING_HASH_1, STRING_N_HASH_1): Use jhash. (STRING_HASH_2, STRING_N_HASH_2): Return a dummy value. (STRING_N_COMPARE, return_STRING_N_COMPARE): Prefer memcmp to strncmp. |
||
---|---|---|
.. | ||
clean | ||
DEFAULT | ||
DELETE_ON_ERROR | ||
FORCE | ||
INTERMEDIATE | ||
ONESHELL | ||
PHONY | ||
POSIX | ||
SECONDARY | ||
SILENT |