Currently the first tier of the ParserCache only stores used options which are in the cache key and dismisses others. This creates two problems:
- If we want to add more options into the cache key, we do not know if the pages have used them so it's extremely hard to transition
- ParserOutput with non-canonical non-in-cache-key options is considered unsafe to cache now, so the cache is bypassed, even if these options were not actually used in the parse. Storing all used options will allow us to check whether cache can be used more precisely potentially improving the hit rate.