On 05/16/18 15:03, Martin Fick wrote: >> I'm undecided about that. On the one hand this does create >> lots of small files and inevitably causes (some) >> performance degradation. On the other hand, I don't want >> to keep useless objects in the pack, because that would >> also cause performance degradation for people cloning the >> "mother repo." If my assumptions on any of that are >> incorrect, I'm happy to learn more. > My suggestion is to use science, not logic or hearsay. :) > i.e. test it! I think the answer will be "it depends." In many of our cases the repos that need those loose objects are rarely accessed -- usually because they are forks with older data (hence why they need objects that are no longer used by the mother repo). Therefore, performance impacts of occasionally touching a handful of loose objects will be fairly negligible. This is especially true on non-spinning media where seek times are low anyway. Having slimmer packs for the mother repo would be more beneficial in this case. On the other hand, if the "child repo" is frequently used, then the impact of needing a bunch of loose objects would be greater. For the sake of simplicity, I think I'll leave things as they are -- it's cheaper to fix this via reducing seek times than by applying complicated logic trying to optimize on a per-repo basis. Best, -- Konstantin Ryabitsev Director, IT Infrastructure Security The Linux Foundation