Ludovic Courtès <l...@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.