Useful information for reducing memory usage of Python programs:
- https://m.habr.com/en/post/458518/
- https://stackoverflow.com/questions/472000/usage-of-slots
TLDR: Dictionaries use a lot of memory. Possible solutions include using a class and slots, namedtuple, recordclass, cython, or numpy.