From: Torsten Bögershausen Date: Sat, 19 Mar 2016 08:05:55 GMT Subject: Re: [PATCH] read-cache: increase write buffer size Message-ID: <56ED0863.3020709@web.de> In-Reply-To: <1458350341-12276-1-git-send-email-dturner@twopensource.com> On 2016-03-19 02.19, David Turner wrote: > Each write() has syscall overhead, and writing a large index entails > many such calls. A larger write buffer reduces the overhead, > leading to increased performance. > > On my repo, which has an index size of 30m, this saves about 10ms of > time writing the index. > > Signed-off-by: David Turner > --- > read-cache.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/read-cache.c b/read-cache.c > index d9fb78b..09ebe08 100644 > --- a/read-cache.c > +++ b/read-cache.c > @@ -1714,7 +1714,7 @@ int unmerged_index(const struct index_state *istate) > return 0; > } > > -#define WRITE_BUFFER_SIZE 8192 > +#define WRITE_BUFFER_SIZE 131072 > static unsigned char write_buffer[WRITE_BUFFER_SIZE]; > static unsigned long write_buffer_len; > > Do I read that right, it saves 10 milliseconds ? What happens to small system (like Raspberry PI), when you want 128K write buffer ? Could the buffer size be turned into a makefile variable, defaulting to 8192 ?