From e6ca4cd0dff8ac2745d727ab9a124bc72698a84b Mon Sep 17 00:00:00 2001 From: Lukey Date: Tue, 30 Jun 2020 15:46:57 +0000 Subject: [PATCH] --- doc/todo/speed_up_git_annex_sync_--content_--all.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/todo/speed_up_git_annex_sync_--content_--all.mdwn diff --git a/doc/todo/speed_up_git_annex_sync_--content_--all.mdwn b/doc/todo/speed_up_git_annex_sync_--content_--all.mdwn new file mode 100644 index 0000000000..4019122278 --- /dev/null +++ b/doc/todo/speed_up_git_annex_sync_--content_--all.mdwn @@ -0,0 +1,7 @@ +Hello Joeyh, +Overall the performance of git-annex is good for me. However, one case where git-annex could improve is with "git annex sync --content --all", as it takes 20 minutes just to traverse all keys without uploading/downloading anything in my repo. I've looked at the code (learnig some haskell along the way) and I think it's due to getting the location logs via git cat-file. I see two ways how performance could be improved: + +1. Use "git cat-file --batch-all-objects --unordered" and traverse the keys in whatever order that outputs the location logs. +2. Cache the location logs in the sqlite database + +Other than that, git-annex has really solved all my file syncing and archival needs and is just awesome!