bfa26661d1
Test case is 24 directories each containing files named 1..10000. The concat and filterM destroyed what laziness there is in dirContentsRecursive, making it buffer all the filenames. Memory use was around 300 mb (possibly growing slightly as it progressed). After this fix, memory use drops to a constant 59 mb. Note that dirContentsRecursive still buffers the entire content of a directory (not subdirectories) so this is still not optimal. |
||
---|---|---|
.. | ||
GitAnnex | ||
GitAnnexShell | ||
Action.hs | ||
Batch.hs | ||
GitAnnex.hs | ||
GitAnnexShell.hs | ||
GitRemoteTorAnnex.hs | ||
GlobalSetter.hs | ||
Option.hs | ||
Seek.hs | ||
Usage.hs |