[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#46100] [PATCH 0/4] Memoize inferior package access.
From: |
Ludovic Courtès |
Subject: |
[bug#46100] [PATCH 0/4] Memoize inferior package access. |
Date: |
Thu, 28 Jan 2021 00:18:08 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Ricardo Wurmus <rekado@elephly.net> skribis:
> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Ludovic Courtès <ludo@gnu.org> skribis:
>>
>>> There’s a catch here: OUTPUT should be taken into account.
>>>
>>> Also it’s better to use eq?-ness but… I realized
>>> ‘inferior-package-inputs’ & co. do not preserve eq?-ness.
>>
>> I think I went overboard here: given that <inferior-package> is a simple
>> flat record type, using ‘equal?’/‘hash-ref’ is reasonable and that way
>> we avoid the troubles of building an ID-to-package table. All in all
>> it’s slightly more efficient.
>
> This looks good to me.
>
> It is very similar to my first version (which I didn’t send to the
> list), which also built a key consisting of the arguments to
> inferior-package->manifest-entry — I wasn’t sure which of them was
> important so I used them all instead of just consing package and
> output.
>
> I also like the use of define-syntax-rule to make it all look neater.
I pushed it as 0f20b3fa2050ba6e442e340a204516b9375cd231.
I wonder if the other patches improve the situation. If you run the
same test case with:
GUIX_PROFILING=memoization
what hit rates does it show for these spots?
Thanks,
Ludo’.
[bug#46101] [PATCH 3/4] inferior: Memoize inferior package search path access., Ricardo Wurmus, 2021/01/25
[bug#46101] [PATCH 4/4] inferior: Memoize package input field access., Ricardo Wurmus, 2021/01/25