Split out from #76813 (comment):
[@findleyr] in typeCheckBatch.checkPackage, where we construct a syntax package, avoid inserting files into the parse cache if the package is not going to be persisted. We can do this either with a hint to the parseCache, or by avoid the parseCache entirely and just parsing directly.
The problem is that our parseCache uses time-based eviction, but when rediagnosing a large reverse cone there's a bunch of parsing that is entirely transient, and the time-based eviction policy leads to a very high water mark.
I think this is actually very straightforward to fix, and the cockroach example above is a good test case. I would like to fix it
Split out from #76813 (comment):