"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

Thomas Adam <thomas@xteddy.org>
Re: Got is kinda slow
Christian Weisgerber <naddy@mips.inka.de>, Game of Trees <gameoftrees@openbsd.org>
Sat, 15 Apr 2023 21:10:41 +0100

Download raw body.

On Sat, 15 Apr 2023 at 20:45, Christian Weisgerber <naddy@mips.inka.de> wrote:
> Based on something I did today:
> $ cd /usr/ports/devel/libpciaccess      # FreeBSD ports
> $ time git log -- . >/dev/null
>        20.15 real        19.77 user         0.37 sys
> $ time got log . >/dev/null
>       460.48 real       459.54 user         0.85 sys
> Ouch.

I was looking into this recently for a different reason.  At first I
thought we were missing a few fflush() calls, but I narrowed things
down to print_commit() in got/got.c -- where building up the string to
output is the thing which slows us down.  There'll be something in
that function slowing us down.  Maybe got_object_commit_get_logmsg()
-- but I've not had time to really dig into this.