Skip to content

Migrate `Finder` component to `OsPath`

Hannes Siebenhandl requested to merge wip/fendor/os-string-modlocation into master

Closes #24616 (closed)

For each module in a GHCi session, we keep alive one ModLocation. A ModLocation is fairly inefficiently packed, as Strings are expensive in memory usage.

While benchmarking the agda codebase, we concluded that we keep alive around 11MB of FilePath's, solely retained by ModLocation.

We provide a more densely packed encoding of ModLocation, by moving from FilePath to OsPath. Further, we migrate the full Finder component to OsPath to avoid unnecessary transformations. As the Finder component is well-encapsuled, this requires only a minimal amount of changes in other modules.

Edited by Hannes Siebenhandl

Merge request reports