diff options
author | Joey Hess <joey@kitenet.net> | 2012-03-11 18:04:58 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-03-11 18:04:58 -0400 |
commit | b3256946457ec8a2da056573bf49593b225adbd8 (patch) | |
tree | fb13abe0a14baefd0dbed5ccbc87052f4909d27a /Utility/Dot.hs | |
parent | ff3644ad38d210c5ce0ebfb5a2cf5e84bb3b47da (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 'Utility/Dot.hs')
0 files changed, 0 insertions, 0 deletions