git-annex/doc
Joey Hess b086e32c63 unused: Reduce memory usage significantly.
Much of the memory bloat turned out to be due to getKeysReferenced
containing a mapM, which is strict and buffered the whole list
rather than streaming it.

The other half of the bloat was due to building a temporary Set
in order to call S.difference. While that is more cpu efficient,
I switched to successive S.delete, since with it, I can run a whole
git annex unused in less than 8 mb of memory.

The whole Set of keys with content available is still stored in memory,
so running unused in a repo with a whole lot of file content will still
use more memory. In a repo containing 6000 files, it needed 40 mb.

Note that the status command still uses the bloatful getKeysReferenced.
2012-03-11 16:24:07 -04:00
..
bugs do a cleanup commit after moving data from or to a git remote 2012-02-25 18:02:49 -04:00
design fix link 2011-11-04 15:51:01 -04:00
download Added a comment 2011-05-28 16:04:51 +00:00
encryption Added a comment: Tahoe-LAFS comes with encryption 2011-05-18 04:32:17 +00:00
forum fix link 2012-03-11 11:52:26 -04:00
install move windows support to a todo item 2012-01-13 13:55:14 -04:00
news add news item for git-annex 3.20120309 2012-03-09 20:15:29 -04:00
special_remotes clarification 2012-03-04 10:51:25 -04:00
sync Added a comment: very nice 2012-02-25 15:02:18 +00:00
templates add a bug template 2012-02-06 21:38:05 -04:00
tips foo 2012-03-04 13:16:35 -04:00
todo unused: Reduce memory usage significantly. 2012-03-11 16:24:07 -04:00
upgrades fix broken links 2011-11-08 12:23:03 -04:00
use_case layout 2011-04-17 11:44:32 -04:00
users 2011-12-07 03:14:24 +00:00
walkthrough add section on syncing to the walkthrough 2011-12-31 14:50:40 -04:00
backends.mdwn use SHA256 by default 2011-11-04 15:51:01 -04:00
bare_repositories.mdwn a recipe for setting up a bare remote 2011-11-04 23:19:13 +00:00
bugs.mdwn add a bug template 2012-02-06 21:38:05 -04:00
comments.mdwn add comments page 2011-03-15 23:25:16 -04:00
contact.mdwn update with irc channel 2011-05-19 15:44:22 -04:00
copies.mdwn update documentation for new, neutered key-value backends 2011-08-28 16:28:38 -04:00
design.mdwn encryption design document 2011-04-03 14:34:00 -04:00
distributed_version_control.mdwn formatting 2011-12-31 15:18:29 -04:00
download.mdwn merged ghc 7.4 support into master 2012-02-07 14:15:37 -04:00
encryption.mdwn document encryption 2011-04-16 19:35:02 -04:00
feeds.mdwn add twitter feed 2012-01-05 00:45:21 -04:00
forum.mdwn add 2010-11-14 14:07:58 -04:00
future_proofing.mdwn update 2012-02-15 19:46:29 -04:00
git-annex-shell.mdwn add git-annex-shell commit 2012-02-25 16:47:28 -04:00
git-annex.mdwn add remote start and stop hooks 2012-03-04 19:12:58 -04:00
git-union-merge.mdwn change footer 2011-12-07 13:17:00 -04:00
GPL 3 2010-10-20 11:56:36 -04:00
how_it_works.mdwn add how it works page 2012-01-03 21:06:16 -04:00
index.mdwn add scalability page 2012-02-14 18:50:25 -04:00
install.mdwn note 7.4 needed 2012-02-04 14:51:52 -04:00
internals.mdwn add a link to git-union-merge 2011-12-13 22:01:13 +00:00
location_tracking.mdwn update 2011-11-27 13:57:56 -04:00
logo.png update 2010-11-13 23:32:56 -04:00
logo_small.png update 2010-11-13 23:32:56 -04:00
meta.mdwn fix 2011-11-08 12:24:56 -04:00
news.mdwn limit news feed to only toplevel 2012-01-13 13:47:56 -04:00
NixOS.mdwn Document how to install git-annex in Nix 2012-01-13 18:53:41 +00:00
not.mdwn point to new extension now in mercurial 2011-11-02 12:02:04 -04:00
repomap.png scaled 2011-03-04 15:15:55 -04:00
scalability.mdwn add tips 2012-02-15 14:34:40 -04:00
sitemap.mdwn add sitemap 2012-01-03 21:12:01 -04:00
special_remotes.mdwn instructions for using Box.com as a special remote 2012-03-04 00:14:42 -04:00
summary.mdwn tweak wording 2012-02-15 19:43:15 -04:00
sync.mdwn add a sync page documenting sync in detail 2011-12-30 20:02:55 -04:00
tips.mdwn reorg 2011-10-17 13:56:36 -04:00
todo.mdwn reorg 2010-10-25 11:47:45 -04:00
transferring_data.mdwn 2012-01-05 20:58:05 +00:00
trust.mdwn dead: A command which says that a repository is gone for good and you don't want git-annex to mention it again. 2011-12-02 16:59:55 -04:00
upgrades.mdwn update 2011-07-08 01:26:18 -04:00
users.mdwn add 2010-11-14 14:14:27 -04:00
walkthrough.mdwn add section on syncing to the walkthrough 2011-12-31 14:50:40 -04:00