[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: comparing commit-relation using Scheme+libgit2 vs shellout plumbing
From: |
Ludovic Courtès |
Subject: |
Re: comparing commit-relation using Scheme+libgit2 vs shellout plumbing Git |
Date: |
Thu, 14 Sep 2023 12:30:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Simon Tournier <zimon.toutoune@gmail.com> skribis:
> On my machine, I get something less spectacular for a history with 1000
> commits in between.
>
> scheme@(guix-user)> ,time (commit-relation* 1000th newest)
> $1 = ancestor
> ;; 0.128948s real time, 0.082921s run time. 0.046578s spent in GC.
> scheme@(guix-user)> ,time (commit-relation 1000th newest)
> $2 = ancestor
> ;; 4.588075s real time, 5.521358s run time. 1.404764s spent in GC.
>
> I did something very similar as wolf is proposing and named it
> ’commit-relation*’.
That’s an order of magnitude. Probably it could be a bit less if we put
some effort in it (‘commit-relation’ is implemented in a fairly naive
way.)
That said, ‘commit-relation’ is just one example. I’d encourage
interested people to look at (guix git-authenticate) to get a feel of
what we need. Most of it is quite pedestrian, like
‘load-keyring-from-reference’ or ‘commit-signing-key’, but I don’t think
we can get a decent throughput if we shell out for all these things
(assuming ‘git’ can even give us raw data).
Ludo’.
Re: hard dependency on Git? (was bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts), Simon Tournier, 2023/09/11
Re: hard dependency on Git? (was bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts), Maxim Cournoyer, 2023/09/11
Re: hard dependency on Git? (was bug#65866: [PATCH 0/8] Add built-in builder for Git checkouts), Ludovic Courtès, 2023/09/14