git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Proposal: Output should push to different servers in parallel
@ 2019-02-06 22:33 Victor Porton
  2019-02-07  8:37 ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 3+ messages in thread
From: Victor Porton @ 2019-02-06 22:33 UTC (permalink / raw)
  To: git

I experienced a slowdown in Git pushing when I push to more than one server.

I propose:

Run push to several servers in parallel.

Not to mix the output, nevertheless serialize the output, that is for 
example cache the output of the second server push and start to output 
it immediately after the first server push is finished.

This approach combines the advantages of the current way (I suppose it 
is so) to serialize pushes: first push to the first server, then to the 
second, etc. and of my idea to push in parallel.

I think the best way would be use multithreading, but multiprocessing 
would be a good quick solution.


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

* Re: Proposal: Output should push to different servers in parallel
  2019-02-06 22:33 Proposal: Output should push to different servers in parallel Victor Porton
@ 2019-02-07  8:37 ` Ævar Arnfjörð Bjarmason
  2019-02-07 18:26   ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2019-02-07  8:37 UTC (permalink / raw)
  To: Victor Porton; +Cc: git


On Wed, Feb 06 2019, Victor Porton wrote:

> I experienced a slowdown in Git pushing when I push to more than one server.
>
> I propose:
>
> Run push to several servers in parallel.
>
> Not to mix the output, nevertheless serialize the output, that is for
> example cache the output of the second server push and start to output
> it immediately after the first server push is finished.
>
> This approach combines the advantages of the current way (I suppose it
> is so) to serialize pushes: first push to the first server, then to
> the second, etc. and of my idea to push in parallel.
>
> I think the best way would be use multithreading, but multiprocessing
> would be a good quick solution.

This seems like a reasonable idea, until such time as someone submits
patches to implement this in git you can do this with some invocation of
GNU parallel -k, i.e. operate on N remotes in parallel, and use the -k
option to buffer up all their output and present it in sequence.

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

* Re: Proposal: Output should push to different servers in parallel
  2019-02-07  8:37 ` Ævar Arnfjörð Bjarmason
@ 2019-02-07 18:26   ` Junio C Hamano
  0 siblings, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2019-02-07 18:26 UTC (permalink / raw)
  To: Ævar Arnfjörð Bjarmason; +Cc: Victor Porton, git

Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:

> This seems like a reasonable idea, until such time as someone submits
> patches to implement this in git you can do this with some invocation of
> GNU parallel -k, i.e. operate on N remotes in parallel, and use the -k
> option to buffer up all their output and present it in sequence.

Stopping the message there makes it sound like a polite way to say
"a generic tool to allow you doing it on anything, not limited to
Git, is already available, and a solution specific to Git is
unwanted."

I wanted to follow up with something that says "The 'parallel' tool
works in the meantime, but here are examples of very useful things
that we would not be able to live without that 'parallel' wouldn't
let us do, and we need a Git specific solution to obtain that", but
I am coming up with empty, so perhaps indeed we do not want a Git
specific solution ;-)


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

end of thread, other threads:[~2019-02-07 18:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-06 22:33 Proposal: Output should push to different servers in parallel Victor Porton
2019-02-07  8:37 ` Ævar Arnfjörð Bjarmason
2019-02-07 18:26   ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).