in reply to precalculating hash keys in XS slower?

Pardon me that I do not have the time right now to study your code in detail.   (P.S. I would, however, “club ya,” as a former co-worker would put it, for using a variable name like voidPtr ...)
:-}

In my experience, the speed with which a hash-key is calculated makes precious little difference at all.   What matters is the quality of the search attempt that results from using it, all things considered.   The number of hash-buckets, the distribution of key values within the table (in actual, observed practice), and the probability of a virtual memory page-fault, are all things that I would call “genuine” considerations.   The hash-algorithm is an important consideration in this overall picture, but it is only one of them, and a small one at that.   The number of nanoseconds required to compute it is, by and large, irrelevant (IMHO) given the larger context.   To the (very limited) extent that the actual hash-algorithm does influence anything, it is wiser to spend a little more time (if indeed you must...) producing a “better” result, than to spend less time producing an inferior one.

JM2CW.   Nothing more or less.