[Hackage] #288: the package indexes are very slow
Antoine Latter
aslatter at gmail.com
Wed Jul 14 23:37:19 EDT 2010
On Wed, Jul 14, 2010 at 4:48 PM, Hackage <cvs-ghc at haskell.org> wrote:
> Comment(by duncan):
>
> It should be straightforward to extend the size of the types used to cope
> with bigger tarballs. The only cost will be a bigger index. The reason for
> the limitations in the hackage code is simply to save space by keeping the
> indexes very compact.
>
Yup. My branch of cabal-install has this done:
http://community.haskell.org/~aslatter/code/cabal-install/index/
which requires:
http://community.haskell.org/~aslatter/code/tarindex/
This should be considered a prototype, as we would need to more
carefully consider what dependencies we should be pulling in for this.
For "cabal list $pkgname" I go from ~1s to ~550ms.
For "cabal install --dry-run happstack" I go from ~2.5s to ~1.9s.
According to GHC profiling most of the time spent in "cabal list" is
in looking up paths in the tar-index offset store (this happens ~9000
times). I don't have profiling data through package boundaries for
some reason, so there might yet be low-hanging fruit over there.
Antoine
More information about the cabal-devel
mailing list