Subject: Re: bug#50384: [PATCH] Optimise search-patch (reducing I/O)

From: Ludovic Courtès <[email-masked]>
Date: Fri, 08 Oct 2021 09:41:17 +0200

Hi zimoun,

zimoun <[email-masked]> skribis:

> On Mon, 27 Sep 2021 at 18:17, Ludovic Courtès <[email-masked]> wrote:
>
>> Rough design sketch:
>>
>> The idea I have in mind would be to have <package> be a sub-record-type
>> of <proto-package>, where <proto-package> would contain only the
>> metadata currently provided by ‘fold-available-packages’ (mainly: name,
>> version, module/variable).
>>
>> <proto-package> would have a gexp compiler that looks up the
>> package/derivation mapping in ~/.cache/guix and either return it
>> directly (cache hit) or look up the corresponding <package>, do all the
>> work, and add an entry in the cache (cache miss).
>
> In this rough design sketch, would this <proto-package> help for
> improving the situation of "guix search"?  Well, could this cache help
> at more place than search-patch?

Yes, that’s what I thought: <proto-package> could be used in
‘fold-available-packages’ & co., so that would kind of unify that.

Ludo’.