Re: Make the git codebase thread-safe

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Make the git codebase thread-safe

From: David Kastrup <hidden>
Date: 2016-06-15 22:59:53

Stefan Zager [off-list ref] writes:
On Wed, Feb 12, 2014 at 10:50 AM, David Kastrup [off-list ref] wrote:
quoted
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

Re: Make the git codebase thread-safe

From: Mike Hommey <hidden>
Date: 2016-06-15 22:59:54

On Wed, Feb 12, 2014 at 08:15:24PM +0100, David Kastrup wrote:
Stefan Zager [off-list ref] writes:
quoted
On Wed, Feb 12, 2014 at 10:50 AM, David Kastrup [off-list ref] wrote:
quoted
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.
How much fragmentation does that add to the files, though?

Mike
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help