git-annex/Annex
Joey Hess b325694645 getKeysPresent is now fully lazy
.. Allowing it to be used by things in constant space!

Random statistics: git annex status has gone from taking 239 mb
of memory and 26 seconds in a repo, to 8 mb and 13 seconds.

The trick here is the unsafeInterleaveIO, and the form of the function's
recursion, which I cribbed heavily from System.IO.HVFS.Utils.recurseDirStat.
The difference is, this one goes to a limited depth and avoids statting
everything.
2012-03-11 18:04:58 -04:00
..
Branch.hs improve alwayscommit=false mode 2012-02-25 16:18:55 -04:00
BranchState.hs tweak 2012-01-14 14:31:16 -04:00
CatFile.hs detect and recover from branch push/commit race 2011-12-11 20:41:35 -04:00
CheckAttr.hs rework git check-attr interface 2012-02-13 23:52:21 -04:00
Content.hs getKeysPresent is now fully lazy 2012-03-11 18:04:58 -04:00
Exception.hs adjust to build with monad-control-0.3 2011-12-05 22:51:37 -04:00
Journal.hs IO exception rework 2012-02-03 16:47:24 -04:00
LockPool.hs ssh connection caching 2012-01-20 17:14:56 -04:00
Queue.hs Added a annex.queuesize setting 2012-02-15 11:14:19 -04:00
Ssh.hs syscall optimisation 2012-03-06 13:56:20 -04:00
UUID.hs split out three modules from Git 2011-12-13 15:06:49 -04:00
Version.hs split out three modules from Git 2011-12-13 15:06:49 -04:00