haskell/cabal — pull request #3 by tanakh (2012-04-27 08:36:00+00:00)
Title: Faster 'cabal update'

Currently, 'cabal update' uses Distribution.Simple.Utils.writeFileAtomic.
But it requires data as `String`, so very very slow.
3.7MB of 00-index.tar.gz is extracted to 61MB of 00-index.tar.
It takes about 8 seconds to write 00-index.tar on my machine (i5-2400 CPU @ 3.10GHz).
cabal-install can depends on `bytestring', so I rewrite `writeFileAtomic` to use bytstring.
The bottleneck is resolved (< 1 second).