summaryrefslogtreecommitdiff
path: root/GPL
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-03-11 18:04:58 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-03-11 18:04:58 -0400
commitb3256946457ec8a2da056573bf49593b225adbd8 (patch)
treefb13abe0a14baefd0dbed5ccbc87052f4909d27a /GPL
parentff3644ad38d210c5ce0ebfb5a2cf5e84bb3b47da (diff)
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.
Diffstat (limited to 'GPL')
0 files changed, 0 insertions, 0 deletions