GHC memory usage when typechecking from source vs. loading ModIfaces

ÉRDI Gergő gergo at erdi.hu
Fri Jan 17 11:30:54 UTC 2025


On Fri, 17 Jan 2025, Matthew Pickering wrote:

> 1. As Zubin points out we have recently been concerned with improving the memory usage
> of large module sessions (#25511, !13675, !13593)
> 
> I imagine all these patches will greatly help the memory usage in your use case.

I'll try these out and report back.

> 2. You are absolutely right that ModDetails can get forced and is never reset.
> 
> If you try !13675, it should be much more easily possible to reset the ModDetails by
> writing into the IORef which stores each home package.

Yes, that makes sense.

> 3. If you share your example or perhaps even a trace from ghc-debug then I will be
> happy to investigate further as it seems like a great test case for the work we have
> recently been doing.

Untangling just the parts that exercise the GHC API from all the other 
in-house bits will be quite a lot of work. But if just a ghc-debug 
snapshot of e.g. a small example from scratch  vs. from existing ModIfaces 
would be helpful (with e.g. the top HscEnv at the time of finishing all 
typechecking as a saved closure), I can provide that no prob.

Thanks,
 	Gergo


More information about the ghc-devs mailing list