From: Stefan Sperling Subject: Re: less memcpy() when parsing trees To: gameoftrees@openbsd.org Date: Thu, 14 Nov 2019 18:14:34 +0100 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.