On 07/06/17 13:40, Ludovic Courtès wrote: > Hi Christopher, > > Christopher Baines skribis: > >> Running the current implementation of git-predicate on the guix >> repository with 50 trials takes: >> >> real 0m5.374s >> user 0m4.052s >> sys 0m1.484s >> >> Compared to the following for the patched implementation: >> >> real 0m8.398s >> user 0m5.040s >> sys 0m2.016s >> >> This shows that the patched implementation has decreased the >> performance. Using the real value, the test time has increased by ~3 >> seconds. This corresponds roughly to a change from ~0.11 seconds >> previously, to ~0.17 seconds for each individual traversal of the entire >> repository. >> >> I encountered a performance issue when trying to use git-predicate with >> this repository [2], which I have written a Guix package for here [3]. >> Instead of the 1463 files that git ls-files reports locally for the guix >> repository, smart-answers contains 26732 files. >> >> The running time with smart-answers is left as an exercise to the >> reader, all I can say is that on my machine, it takes more than 40 >> minutes for just 1 trial. >> >> Using this patch, running the test script with 1 trial gives: >> >> real 0m4.917s >> user 0m3.640s >> sys 0m1.428s > > So in short, the new implementation is 100 times faster on large repos > but roughly the same or slightly slower on smaller repos, right? Yep, that's right :)