For efficiency, Catharsis caches all of its parse results. Right now it caches all parse results indefinitely, which is not appropriate for a long-running process. Catharsis should use an LRU cache instead.
I've never verified that caching the parse results is actually faster than re-parsing the type expression. So before I add an LRU cache, I need to run some quick benchmarks of the following:
Current implementation with caching
Current implementation with caching, but using sigmund to generate the cache key
For efficiency, Catharsis caches all of its parse results. Right now it caches all parse results indefinitely, which is not appropriate for a long-running process. Catharsis should use an LRU cache instead.