Re: Make the git codebase thread-safe
- From
David Kastrup <dak@gnu.org>
- Date
- Feb 12, 2014, 19:15 UTC
- Message-ID
- <87ppms87n7.fsf@fencepost.gnu.org>
- In-Reply-To
- <CAHOQ7J_pg6Nqc5TdU9OA81=d+ZG_JpLFQ5-eFLY3uW8CuAQrUQ@mail.gmail.com>
Stefan Zager <szager@chromium.org> writes:
Show 11 quoted lines
> On Wed, Feb 12, 2014 at 10:50 AM, David Kastrup <dak@gnu.org> wrote: > >> Really, give the above patch a try. I am taking longer to finish it >> than anticipated (with a lot due to procrastination but that is, >> unfortunately, a large part of my workflow), and it's cutting into my >> "paychecks" (voluntary donations which to a good degree depend on timely >> and nontrivial progress reports for my freely available work on GNU >> LilyPond). > > I will give that a try. How much of a performance improvement have > you clocked?
Depends on file type and size. With large files with lots of small changes, performance improvements get more impressive.
Some ugly real-world examples are the Emacs repository, src/xdisp.c (performance improvement about a factor of 3), a large file in the style of /usr/share/dict/words clocking in at a factor of about 5.
Again, that's with an SSD and ext4 filesystem on GNU/Linux, and there are no improvements in system time (I/O) except for patch 4 of the series which helps perhaps 20% or so.
So the benefits of the patch will come into play mostly for big, bad files on Windows: other than that, the I/O time is likely to be the dominant player anyway.
If you have benchmarked the stuff, for annoying cases expect I/O time to go down maybe 10-20%, and user time to drop by a factor of 4. Under GNU/Linux, that makes for a significant overall improvement. On Windows, the payback is likely quite less because of the worse I/O performance. Pity.
-- David Kastrup