Re: Rebase performance
- From
Stefan Beller <sbeller@google.com>
- Date
- Feb 25, 2016, 00:22 UTC
- Message-ID
- <CAGZ79kauMxxXcRu97CZ=uyau-fpNpZ-8q8vM5fDRmUmuLaMLPw@mail.gmail.com>
- In-Reply-To
- <CA+P7+xpC+gZijkcxcp8uFCmYjQf7-0xbBf7FWSsFnMXB1b7G+Q@mail.gmail.com>
On Wed, Feb 24, 2016 at 4:15 PM, Jacob Keller <jacob.keller@gmail.com> wrote:
Show 21 quoted lines
> On Wed, Feb 24, 2016 at 2:09 PM, Christian Couder > <christian.couder@gmail.com> wrote: >> Hi, >> Another possibility would be to libify the "git apply" functionality >> and then to use the libified "git apply" in run_apply() instead of >> launching a separate "git apply" process. One benefit from this is >> that we could probably get rid of the read_cache_from() call at the >> end of run_apply() and this would likely further speed up things. Also >> avoiding to launch separate processes might be a win especially on >> Windows. >> > > This is the route I would go, since the addition of a taskset option > seems pretty difficult to get correct, and may not be portable. This > above solution likely improves more in general, and is more portable. > Not exactly sure how easy it would be to "libify" the required bits of > apply, however.. it may be that this is already available as well but > we just didn't go that route during the port of git-am into C code. > > Regards, > Jake
IIRC Junio started libifying am after Paul Tan rewrote it in C, See origin/jc/am-mailinfo-direct (tip at 4b98bae2cbc6b).
That part however only libifyies the mailinfo which is used by apply (one layer below), so I am not sure if the run_apply has been attempted to libify.
I would also encourage to rather try to not call out to a child (libifying) instead of adding the taskset hack for servers.
Thanks, Stefan
> -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html