On 04.09.2016 20:53, Michael Haggerty wrote:
> On 09/04/2016 10:40 PM, David Turner wrote:
>> On Sun, 2016-09-04 at 18:08 +0200, Michael Haggerty wrote:
>>> +/* A linked list of ref_stores for submodules: */
>>> +static struct ref_store *submodule_ref_stores;
>> I don't like the per-submodule stores being in a linked list, which
>> requires a linear search. Stefan has, I think, been doing a bunch of
>> work to scale git to support on the order of thousands of submodules,
>> which this potentially breaks. What about a hashmap?
Well I did mostly usability up to this point, not efficiency in terms
of fast execution.
> I agree it's not ideal, but this linked list is not new. Before this
> patch the same code was in `files-backend.c`, and before patch [03/38]
> essentially the same linked list was stored as `submodule_ref_caches`.
> So this is not a regression, and I'd rather not address it in this patch
> CC Stefan in case he'd like to put it on his radar. Honestly, I've never
> checked how often the submodule reference cache is used in real life.
I think I need to spend some time on the data structures eventually.
Thanks for cc'ing