I have developed a little project where I depend on mime-string-0.5 from Hackage. When I try compiling it on a new machine, building mime-string takes an amount of resources that puzzles me:
It takes takes 5 minutes of using 100% CPU, and GHC peaks at using more than 5 GB of memory:
$ cabal v1-update Config file path source is default config file. Config file /home/adsj/.cabal/config not found. Writing default configuration to /home/adsj/.cabal/config Downloading the latest package list from hackage.haskell.org $ time cabal v1-install mime-string Resolving dependencies... Downloading base64-string-0.2 Downloaded base64-string-0.2 Starting base64-string-0.2 Building base64-string-0.2 Completed base64-string-0.2 Downloading mime-string-0.5 Downloaded mime-string-0.5 Starting mime-string-0.5 Building mime-string-0.5 Completed mime-string-0.5 real 5m18.180s user 5m13.453s sys 0m5.547s $ ghc --version The Glorious Glasgow Haskell Compilation System, version 8.6.5 $
This on a new laptop (i7-9750H) running Debian unstable.
The library itself is not enormous, SLOCcount says:
SLOC Directory SLOC-by-Language (Sorted) 1484 mime-string-0.5 haskell=1484
Does anyone have some hints on how to start figuring out what is gong on?