Hirola

PyPI version https://img.shields.io/badge/coverage-100%25-%23184159

NumPy vectorized hash table written in C for fast (roughly 10x faster) set/dict like operations.

A hirola.HashTable is to dict what numpy.array is to list. By imposing some constraints, vectorising, and translating into C, the speed can be improved dramatically. For hirola, these constraints are:

  • Keys must all be of the same predetermined type and size.

  • The maximum size of a table must be chosen in advance and managed explicitly.

  • To get any performance boost, operations should be done in bulk.

  • Elements can not be removed.

If any of the above are not satisfied for your use case then don’t use hirola.

Indices and tables