Migrate `Finder` component to `OsPath`
For each module in a GHCi session, we keep alive one `ModLocation`. A `ModLocation` is fairly inefficiently packed, as `String`s 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. Bump to haddock submodule for `ModLocation` changes.
parent
25b0b404
No related branches found
No related tags found
Pipeline #94486 passed with warnings
Stage: tool-lint
Stage: quick-build
Stage: full-build
Stage: packaging
Stage: testing
Showing
- compiler/GHC.hs 8 additions, 2 deletionscompiler/GHC.hs
- compiler/GHC/Cmm/DebugBlock.hs 1 addition, 1 deletioncompiler/GHC/Cmm/DebugBlock.hs
- compiler/GHC/CmmToAsm/Dwarf.hs 1 addition, 1 deletioncompiler/GHC/CmmToAsm/Dwarf.hs
- compiler/GHC/CmmToAsm/Wasm.hs 1 addition, 1 deletioncompiler/GHC/CmmToAsm/Wasm.hs
- compiler/GHC/CoreToStg/Prep.hs 1 addition, 1 deletioncompiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Data/OsPath.hs 24 additions, 0 deletionscompiler/GHC/Data/OsPath.hs
- compiler/GHC/Data/Strict.hs 24 additions, 1 deletioncompiler/GHC/Data/Strict.hs
- compiler/GHC/Driver/Backpack.hs 10 additions, 9 deletionscompiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/CodeOutput.hs 2 additions, 1 deletioncompiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Config/Finder.hs 13 additions, 12 deletionscompiler/GHC/Driver/Config/Finder.hs
- compiler/GHC/Driver/Main.hs 11 additions, 9 deletionscompiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Make.hs 21 additions, 16 deletionscompiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/MakeFile.hs 4 additions, 3 deletionscompiler/GHC/Driver/MakeFile.hs
- compiler/GHC/Driver/Pipeline.hs 3 additions, 3 deletionscompiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Pipeline/Execute.hs 15 additions, 14 deletionscompiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/HsToCore.hs 1 addition, 1 deletioncompiler/GHC/HsToCore.hs
- compiler/GHC/HsToCore/Ticks.hs 1 addition, 1 deletioncompiler/GHC/HsToCore/Ticks.hs
- compiler/GHC/Iface/Errors.hs 3 additions, 2 deletionscompiler/GHC/Iface/Errors.hs
- compiler/GHC/Iface/Errors/Ppr.hs 3 additions, 3 deletionscompiler/GHC/Iface/Errors/Ppr.hs
- compiler/GHC/Iface/Ext/Ast.hs 2 additions, 2 deletionscompiler/GHC/Iface/Ext/Ast.hs
Loading
Please register or sign in to comment