Hashes can sometimes be cached, if there is sufficient room in the data structure where the key is stored; caching the results of comparisons (a binary operation) is frequently impractical. On the other hand, comparisons can benefit from shortcutting: if keys generally vary within the very first couple bytes, a unfavorable comparison can be extreme