[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66268: Guix makes invalid assumptions regarding guile-git guarantees
From: |
Tomas Volf |
Subject: |
bug#66268: Guix makes invalid assumptions regarding guile-git guarantees leading to guix pull failing |
Date: |
Wed, 16 Apr 2025 00:01:57 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Ludovic Courtès <ludo@gnu.org> writes:
> Hi Tomas!
>
> Tomas Volf <~@wolfsden.cz> writes:
>
>> So, the good news is that it seems to work, the checks at the start of
>> the script now pass. Full output from both runs (the current guile-git
>> 0.9.0 and the commit being tested) are attached.
>>
>> However, now the bad news. The performance of the new version is
>> atrocious. Run from the previous version finished in slightly over 6
>> minutes (6:13.37), run from the commit above *did not finish* after 16
>> hours (16:05:27) and I had to kill it. So we are looking at a slowdown
>> of *at least* 155.3x, probably significantly worse (see below).
>
> Ouch this is terrible—and shows just how naïve I was. :-)
>
> Taking a step back, I think we can sidestep the issue entirely. Based
> on 45mg’s initial work, I added (git graph). This includes
> ‘graph-descendant?’, which is all we need in (guix git).
>
> So I think I’ll revert the offending commit
> (cd91dc908ac4b215bc87a97455ff64ed4d89b721) and then come up with a patch
> in Guix to use ‘graph-descendant?’ instead of our home-made graph
> traversal code.
>
> How does that sound?
I think that sounds like a great plan. Using the new graph-descendant?
should make the code both correct and faster, so win-win. :)
Tomas
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.