All of lore.kernel.org
 help / color / mirror / Atom feed
* Parallelism for submodule update
@ 2023-01-02 16:44 Zitzmann, Christian
  2023-01-02 16:54 ` rsbecker
  2023-01-19 21:39 ` Calvin Wan
  0 siblings, 2 replies; 4+ messages in thread
From: Zitzmann, Christian @ 2023-01-02 16:44 UTC (permalink / raw)
  To: git

Hello,
we are using git since many years with also heavily using submodules. 

When updating the submodules, only the fetching part is done in parallel (with config submodule.fetchjobs or --jobs) but the checkout is done sequentially

What I’ve recognized when cloning with
- scalar clone --full-clone --recurse-submodules <URL>
or
- git clone --filter=blob:none --also-filter-submodules --recurse-submodules <URL>

We loose performance, as the fetch of the blobs is done in the sequential checkout part, instead of in the parallel part.

Furthermore, the utilization - without partial clone - of network and harddisk is not always good, as first the network is utilized (fetch) and then the harddisk (checkout)

As the checkout part is local to the submodule (no shared resources to block), it would be great if we could move the checkout into the parallelized part.
E.g. by doing fetch and checkout (with blob fetching) in one step with e.g. run_processes_parallel_tr2

I expect that this significantly improves the performance, especially when using partial clones.

Do you think this is possible? Do I miss anything in my thoughts?

Best regards,

Christian Zitzmann



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-01-19 22:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-02 16:44 Parallelism for submodule update Zitzmann, Christian
2023-01-02 16:54 ` rsbecker
2023-01-13 10:49   ` Zitzmann, Christian
2023-01-19 21:39 ` Calvin Wan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.