"GOT", but the "O" is a cute, smiling sun Index | Thread

Stefan Sperling <stsp@stsp.name>
Re: less memcpy() when parsing trees
Thu, 14 Nov 2019 18:14:34 +0100

Download raw body.

On Mon, Nov 11, 2019 at 09:40:09PM +0200, Stefan Sperling wrote:
> Our code is doing quite a bit of redundant memcpy() operations.
> This is not incorrect but has an impact on performance. I have
> started looking into reducing the amount of memcpy() where possible.
> With this diff we copy tree data to an imsg directly from the buffer
> into which the on-disk data was decompressed, rather than copying
> this decompressed data into a struct got_tree_object first, and then
> copying data out of that object into a temporary buffer, and then
> copying data from that bufffer into the imsg.
> This kind of work could probably be done for other object types,
> as well as many other places throughout the code base.
> Is anyone interested in helping with this effort?

I discussed this with mpi at p2k19 and have just committed a slightly
modified version which also eliminates memcpy of the tree entry's SHA1.