¿Cuál es más rápido, búsqueda de hash o búsqueda binaria?

Cuando se le da un conjunto estático de objetos (estático en el sentido de que una vez cargado, casi nunca cambia) en el que se necesitan búsquedas simultáneas repetidas con un rendimiento óptimo, lo que es mejor, unHashMap o una matriz con una búsqueda binaria usando algún comparador personalizado?

¿Es la respuesta una función de tipo de objeto o estructura? Hash y / o rendimiento de la misma función? Hash unicidad? Tamaño de la lista?Hashset tamaño / tamaño del conjunto?

El tamaño del conjunto que estoy viendo puede ser de 500k a 10m, en caso de que la información sea útil.

Mientras busco una respuesta de C #, creo que la verdadera respuesta matemática no se encuentra en el lenguaje, por lo que no incluyo esa etiqueta. Sin embargo, si hay cosas específicas de C # a tener en cuenta, se desea esa información.

Respuestas a la pregunta(16)

Su respuesta a la pregunta