GNU bug report logs -
#29928
[PATCH 0/5] Optimize profile hooks
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 29928 in the body.
You can then email your comments to 29928 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#29928
; Package
guix-patches
.
(Mon, 01 Jan 2018 10:34:06 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
宋文武 <iyzsong <at> member.fsf.org>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Mon, 01 Jan 2018 10:34:06 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hello, these patches make each profile hook run upon its specified interested
inputs, eg: the 'info-dir-file' hook only get inputs with info manuals,
install a package without info files won't trigger it. Thus reduce the chance
and time to rerun them when your profile changed.
One drawback is 'guix package --dry-run' no longer report the derivations of
profile hooks, and the derivation of profile it reports is not the real one.
Addition files will be built when the profiles hooks are run.
Sou Bunnbu (宋文武) (5):
gexp: Add 'eval-gexp'.
profiles: info-dir-file: Don't consider unwanted manifest entries.
guix package: Disable profile hooks on dry runs.
profiles: Filter out unwanted manifest entries for profile hooks.
profiles: Sort manifest inputs for profile hooks.
guix/gexp.scm | 16 ++++
guix/profiles.scm | 188 ++++++++++++++++++++++++++++++++---------------
guix/scripts/package.scm | 2 +-
3 files changed, 146 insertions(+), 60 deletions(-)
--
2.13.3
Information forwarded
to
guix-patches <at> gnu.org
:
bug#29928
; Package
guix-patches
.
(Thu, 11 Jan 2018 22:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 29928 <at> debbugs.gnu.org (full text, mbox):
Hello!
宋文武 <iyzsong <at> member.fsf.org> skribis:
> Hello, these patches make each profile hook run upon its specified interested
> inputs, eg: the 'info-dir-file' hook only get inputs with info manuals,
> install a package without info files won't trigger it. Thus reduce the chance
> and time to rerun them when your profile changed.
That’s an area in need of improvements, thanks for looking into it!
> One drawback is 'guix package --dry-run' no longer report the derivations of
> profile hooks, and the derivation of profile it reports is not the real one.
> Addition files will be built when the profiles hooks are run.
FWIW I’m not entirely convinced by the approach. As discussed earlier,
I’d like to experiment with a notion of “build rounds”: the first round
would build a profile without any hooks, the second round would,
depending on what the profile contains, rebuild it with certain hooks.
I don’t have anything to show yet, though…
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#29928
; Package
guix-patches
.
(Fri, 19 Jan 2018 14:43:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 29928 <at> debbugs.gnu.org (full text, mbox):
ludo <at> gnu.org (Ludovic Courtès) writes:
> Hello!
>
> 宋文武 <iyzsong <at> member.fsf.org> skribis:
>
>> Hello, these patches make each profile hook run upon its specified interested
>> inputs, eg: the 'info-dir-file' hook only get inputs with info manuals,
>> install a package without info files won't trigger it. Thus reduce the chance
>> and time to rerun them when your profile changed.
>
> That’s an area in need of improvements, thanks for looking into it!
>
>> One drawback is 'guix package --dry-run' no longer report the derivations of
>> profile hooks, and the derivation of profile it reports is not the real one.
>> Addition files will be built when the profiles hooks are run.
>
> FWIW I’m not entirely convinced by the approach.
Well.. these patches modify package hooks to:
1. build all manifest inputs first.
2. filter manifest inputs to get interested ones.
3. run hook with its interested inputs.
I think reducing the inputs of hook from the whole manifest to its
interested ones is the only way to avoid unneeded reruns.
> As discussed earlier, I’d like to experiment with a notion of “build
> rounds”: the first round would build a profile without any hooks, the
> second round would, depending on what the profile contains, rebuild it
> with certain hooks.
I think "build rounds" would improve the UI/UX, and by changing inputs
from manifest inputs to a built profile, it would simply the current
implementations of profile hooks, but it won't avoid unneeded reruns
compare to the filtered interested inputs way.
Is my understanding correct?
Information forwarded
to
guix-patches <at> gnu.org
:
bug#29928
; Package
guix-patches
.
(Fri, 19 Jan 2018 16:05:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 29928 <at> debbugs.gnu.org (full text, mbox):
Hi,
iyzsong <at> member.fsf.org (宋文武) skribis:
> ludo <at> gnu.org (Ludovic Courtès) writes:
[...]
>>> One drawback is 'guix package --dry-run' no longer report the derivations of
>>> profile hooks, and the derivation of profile it reports is not the real one.
>>> Addition files will be built when the profiles hooks are run.
>>
>> FWIW I’m not entirely convinced by the approach.
>
> Well.. these patches modify package hooks to:
>
> 1. build all manifest inputs first.
>
> 2. filter manifest inputs to get interested ones.
>
> 3. run hook with its interested inputs.
>
> I think reducing the inputs of hook from the whole manifest to its
> interested ones is the only way to avoid unneeded reruns.
Agreed.
>> As discussed earlier, I’d like to experiment with a notion of “build
>> rounds”: the first round would build a profile without any hooks, the
>> second round would, depending on what the profile contains, rebuild it
>> with certain hooks.
>
> I think "build rounds" would improve the UI/UX, and by changing inputs
> from manifest inputs to a built profile, it would simply the current
> implementations of profile hooks, but it won't avoid unneeded reruns
> compare to the filtered interested inputs way.
>
> Is my understanding correct?
A “build round” is something that computes derivations based on the
output of previously-built derivations. So it’s just another way to
structure steps 1/2/3 above; it should not reduce expressivity.
Build rounds would allow us to ensure that ‘build-derivations’ is not
called right in the middle of Guix, and is instead always under the
control of the “top level”.
Ludo’.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#29928
; Package
guix-patches
.
(Sat, 20 Jan 2018 12:53:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 29928 <at> debbugs.gnu.org (full text, mbox):
ludo <at> gnu.org (Ludovic Courtès) writes:
> Hi,
>
> iyzsong <at> member.fsf.org (宋文武) skribis:
>
>> ludo <at> gnu.org (Ludovic Courtès) writes:
>
> [...]
>
>>>> One drawback is 'guix package --dry-run' no longer report the derivations of
>>>> profile hooks, and the derivation of profile it reports is not the real one.
>>>> Addition files will be built when the profiles hooks are run.
>>>
>>> FWIW I’m not entirely convinced by the approach.
>>
>> Well.. these patches modify package hooks to:
>>
>> 1. build all manifest inputs first.
>>
>> 2. filter manifest inputs to get interested ones.
>>
>> 3. run hook with its interested inputs.
>>
>> I think reducing the inputs of hook from the whole manifest to its
>> interested ones is the only way to avoid unneeded reruns.
>
> Agreed.
>
>>> As discussed earlier, I’d like to experiment with a notion of “build
>>> rounds”: the first round would build a profile without any hooks, the
>>> second round would, depending on what the profile contains, rebuild it
>>> with certain hooks.
>>
>> I think "build rounds" would improve the UI/UX, and by changing inputs
>> from manifest inputs to a built profile, it would simply the current
>> implementations of profile hooks, but it won't avoid unneeded reruns
>> compare to the filtered interested inputs way.
>>
>> Is my understanding correct?
>
> A “build round” is something that computes derivations based on the
> output of previously-built derivations. So it’s just another way to
> structure steps 1/2/3 above; it should not reduce expressivity.
>
> Build rounds would allow us to ensure that ‘build-derivations’ is not
> called right in the middle of Guix, and is instead always under the
> control of the “top level”.
>
I see, looking forward it, thanks!
Merged 29927 29928.
Request was from
ludo <at> gnu.org (Ludovic Courtès)
to
control <at> debbugs.gnu.org
.
(Wed, 07 Mar 2018 14:05:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#29928
; Package
guix-patches
.
(Tue, 11 May 2021 13:36:01 GMT)
Full text and
rfc822 format available.
Message #22 received at 29928 <at> debbugs.gnu.org (full text, mbox):
merge 29928 29926
merge 29928 29927
thanks
This series (29928 29926 29927 29925 29929 29930) has by now slept on
the mailing list for more than three years.
Should we still try to merge it? If so, could you send an updated
version, that is not spread across six threads?
Thanks,
Leo
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 09 Jun 2021 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 321 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.