From 13f9c88123946b6af56426397af7b12d8410312f Mon Sep 17 00:00:00 2001 From: Joey Hess <joeyh@joeyh.name> Date: Fri, 25 Sep 2020 13:50:44 -0400 Subject: [PATCH] add todo --- doc/todo/memory_use_increase.mdwn | 32 +++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 doc/todo/memory_use_increase.mdwn diff --git a/doc/todo/memory_use_increase.mdwn b/doc/todo/memory_use_increase.mdwn new file mode 100644 index 0000000000..5a2d934778 --- /dev/null +++ b/doc/todo/memory_use_increase.mdwn @@ -0,0 +1,32 @@ +Max memory use running `git-annex find` in a repo with 100k annexed files +has increased significantly since 8.20200330, from 36 mb to 118 mb: + +old: + + 5.16user 3.36system 0:16.91elapsed 50%CPU (0avgtext+0avgdata 37188maxresident)k + 897424inputs+0outputs (263major+17954minor)pagefaults 0swaps + +current: + + 7.51user 1.76system 0:06.50elapsed 142%CPU (0avgtext+0avgdata 121812maxresident)k + 0inputs+0outputs (0major+34283minor)pagefaults 0swaps + +Note that it has at the same time gotten nearly 3x faster! + +I don't think this is a memory leak, but instead is probably a change in +buffering behavior, likely connected to optimisations. It may be that it's +an acceptable tradeoff, but it seems to have been somewhat unintentional, +so it needs to be investigated and understood. + +Version 8.20200617 (just before the cat-file --buffer changes): + + 4.78user 3.81system 0:17.94elapsed 47%CPU (0avgtext+0avgdata 37188maxresident)k + 1144592inputs+0outputs (249major+18142minor)pagefaults 0swaps + +Version 8.20200720 (cat-file --buffer) + + annex/git-annex find >/dev/null7.82user 3.01system 0:08.60elapsed 126%CPU (0avgtext+0avgdata 122016maxresident)k + 350752inputs+0outputs (1444major+17634minor)pagefaults 0swaps + +Smoking gun. And probably reasonable. But, why exactly does that optimisation +change the memory use in this way?