bug#47283: Performance regression in narinfo fetching

2021-03-24 Thread Ludovic Courtès
Hi Chris, Christopher Baines skribis: > Ludovic Courtès writes: [...] >> Earlier, commit be5a75ebb5988b87b2392e2113f6590f353dd6cd (“substitute: >> Reuse connections for '--query'.”) did not add such a ‘catch’ block in >> ‘http-multiple-get’. Instead, it wrapped its call in ‘do-fetch’ in >> ‘

bug#47283: Performance regression in narinfo fetching

2021-03-23 Thread Christopher Baines
Ludovic Courtès writes: > Christopher Baines skribis: > >> Ludovic Courtès writes: >> >>> Indeed, there’s one place on the hot path where we install exception >>> handlers: in ‘http-multiple-get’ (from commit >>> 205833b72c5517915a47a50dbe28e7024dc74e57). I don’t think it’s needed, >>> is it?

bug#47283: Performance regression in narinfo fetching

2021-03-21 Thread Ludovic Courtès
Christopher Baines skribis: > Ludovic Courtès writes: > >> Indeed, there’s one place on the hot path where we install exception >> handlers: in ‘http-multiple-get’ (from commit >> 205833b72c5517915a47a50dbe28e7024dc74e57). I don’t think it’s needed, >> is it? (But if it is, let’s find another

bug#47283: Performance regression in narinfo fetching

2021-03-21 Thread Ludovic Courtès
Hi! Christopher Baines skribis: > Christopher Baines writes: > >> I haven't looked in to this yet, but maybe it would be possible to >> adjust the code so that it doesn't perform so badly, but still tries to >> handle possible exceptions. >> >> The two ideas I have is to rewrite the (let ...) b

bug#47283: Performance regression in narinfo fetching

2021-03-20 Thread Christopher Baines
Christopher Baines writes: > I haven't looked in to this yet, but maybe it would be possible to > adjust the code so that it doesn't perform so badly, but still tries to > handle possible exceptions. > > The two ideas I have is to rewrite the (let ...) bit in terms of a fold, > maybe that would

bug#47283: Performance regression in narinfo fetching

2021-03-20 Thread Christopher Baines
Ludovic Courtès writes: > As reported on guix-devel, ‘guix weather’ has become extremely slow. > Specifically, in the narinfo-fetching phase, it runs at 100% CPU, even > though that part should be network-bound (pipelined HTTP GETs). > > A profile of the ‘report-server-coverage’ call would show

bug#47283: Performance regression in narinfo fetching

2021-03-20 Thread Ludovic Courtès
Hello! As reported on guix-devel, ‘guix weather’ has become extremely slow. Specifically, in the narinfo-fetching phase, it runs at 100% CPU, even though that part should be network-bound (pipelined HTTP GETs). A profile of the ‘report-server-coverage’ call would show this: --8<---cu