reading the package db is slow
With a large number of registered packages it takes ages for ghc to read the package db and it does this every time it is run so it starts to add up.
I have a rather fast x86-64 machine and 160 registered packages. Here are some timings:
$ time ghc-pkg list > /dev/null
user 0m1.164s
$ time ghc -c does-not-exist.c 2> /dev/null
real 0m0.612s
$ time hsc2hs does-exist.hsc --cflag=--version 2> /dev/null
user 0m0.572s
So since cabal configure involves running all of the above it starts to take a while:
$ time cabal configure
Configuring cabal-install-0.4.3...
real 0m2.241s
user 0m1.916s
The obvious solution is to use a binary cache of the package db containing the most commonly needed mappings like module name -> package etc.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 6.8.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Driver |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | Multiple |
| Architecture |