UsageFile can use a lot of memory
UsageFile "/path/to/some/object/code"
is written to each interface file for each object file included in an external dependency transitively used by the module.
When de-serializing these from disk, all of these paths are duplicated in memory because we use FilePath
instead of FastString
.
Here I have a profile which allocated almost 2 GB of these constructors