The upcoming major cabal-install release will deliver 10-15% faster Haskell build times by eliminating redundant work in the configure phase. Previously, cabal-install would pass a fully resolved build plan to each package's Setup configure command, which would then wastefully re-probe the compiler program database and re-read installed package databases — information cabal-install already had. The architectural fix, funded by the Sovereign Tech Fund, refactors cabal-install to directly call Cabal library functions instead of spawning external Setup executables. This allows pre-configuring the compiler ProgramDb and maintaining a running InstalledPackageIndex, cutting configure phase time by over 90%. For aeson with -j1, total build time drops ~16.6%; for pandoc with -j16 --semaphore, the reduction is ~10%. Future work aims at a finer-grained build graph to increase parallelism further.
Table of contents
History: Cabal and cabal-installA new architecture for cabal-installPerformance impactFurther improvementsSort: