Sun Oct 9 17:29:55 BST 2011 Duncan Coutts <dun...@community.haskell.org> * Rework the async var to batch updates and amortise the work Ignore-this: 7541312d71e65f8effa0c4ba33d0b480 Previously, every single write to the var was laboriously evaluated and since jobs keep comming in faster than they can be evaluated, then the input queue just grows without bound. But if we're just writing then if we have several new inputs in the queue then we can just skip to the final update and evaluate that one. That's now what we do, with a slight complication to do with incremental updates.
M ./Distribution/Server/Util/AsyncVar.hs -16 +34 M ./hackage-server.cabal +1 Sun Oct 9 17:38:01 BST 2011 Duncan Coutts <dun...@well-typed.com> * Use version in hackage-mirror user agent string Ignore-this: 1412e6389f024ba53bfc563dc6687dc4 M ./Distribution/Client.hs -1 +3 Sun Oct 9 17:44:24 BST 2011 Duncan Coutts <dun...@well-typed.com> * Keep mirror client files in per-server dirs Ignore-this: 4b102dbb3490bff0f4726221d00a1f05 And delete package tarballs when they've been successfully uploaded. M ./Distribution/Client.hs -5 +5 M ./MirrorClient.hs -6 +10 Sun Oct 9 17:48:56 BST 2011 Duncan Coutts <dun...@well-typed.com> * Depend on the latest HTTP lib, for bug fixes Ignore-this: 987fbac8094bcd99370b753eeae60fac M ./hackage-server.cabal -1 +1 _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel