The collections such as those implemented by the classes Set and Dictionary depend strongly on good quality hash functions to provide efficient lookup. However, it is not easy to detect performance problems caused by poor hash functions, nor to quantify the nature of their deficiency.
This presentation describes three tests that every hash function should satisfy: collision rate, normalized chi square test, and normalized chi square test modulo well chosen prime numbers. These tests are well beyond what can be run from a workspace with ease. As such, a tool specifically designed to test hash functions has been written to exercise them. The audience will be able to interact with the Hash Analysis Tool live during the presentation.