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

From:
Christian Weisgerber <naddy@mips.inka.de>
Subject:
Re: tog is sluggish with FreeBSD src.git
To:
gameoftrees@openbsd.org
Date:
Fri, 25 Dec 2020 20:40:56 +0100

Download raw body.

Thread
Stefan Sperling:

> Here is another patch (which applies on top of the previous patch) that
> shows how we can avoid the delay caused by reading references from disk
> when opening a diff view from the log view.

Indeed, that is a noticeable improvement.

I had wondered about passing idmap from the log to the diff view,
but got_reflist_object_id_map_create() takes 6 ms for FreeBSD src.git
on my test box, so I abandoned that thought.

> The same idea could be applied to other views, e.g. the blame view
> could also pass a list of references to the diff view.
> 
> Once this has spread to all tog views, reading the reference list of the
> FreeBSD repo becomes a 1x start-up cost for tog.

Why copy and free it for each view?  How about keeping a global ref
list?

> We could even optimize
> got_ref_list() itself if this start-up overhead is not acceptable.

There _is_ a noticeable start-up overhead, but I don't know what's
causing it.

-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de