On Monday, November 24, 2014 10:19:50 PM Jason Ekstrand wrote: > Previously, the hash_table API required the user to do all of the hashing > of keys as it passed them in. Since the hashing function is intrinsicly > tied to the comparison function, it makes sense for the hash table to know > about it. Also, it makes for a somewhat clumsy API as the user is > constantly calling hashing functions many of which have long names. This > is especially bad when the standard call looks something like > > _mesa_hash_table_insert(ht, _mesa_pointer_hash(key), key, data); > > In the above case, there is no reason why the hash table shouldn't do the > hashing for you. We leave the option for you to do your own hashing if > it's more efficient, but it's no longer needed. Also, if you do do your > own hashing, the hash table will assert that your hash matches what it > expects out of the hashing function. This should make it harder to mess up > your hashing. > > Signed-off-by: Jason Ekstrand <jason.ekstr...@intel.com>
(CC'ing Eric to make sure he sees your patch - it's his code after all) Yes, please - the new API looks much nicer to work with. This should be especially nice in the compiler, where we have a lot of hash tables, and aren't concerned with saving every last CPU cycle. I like that there are still _with_hash variants, so you can still compute the hash once and use it multiple times where that makes sense. --Ken
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev