GNU bug report logs -
#56988
Add call-interactively to "never optimize" list for native compilation
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 56988 in the body.
You can then email your comments to 56988 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#56988
; Package
emacs
.
(Fri, 05 Aug 2022 01:38:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Lynn Winebarger <owinebar <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 05 Aug 2022 01:38:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Version 28.1:
Since dumping an Emacs with ~500 core libraries in addition to the 100+
from loadup (596 NCUs in the dump), I noticed huge numbers of async jobs
compiling trampolines for call-interactively. Adding call-interactively -
and funcall-interactively for good measure - to the customization variable
for functions to never optimize, as well as to the hard-coded list in
advice--add-function, then recompiling and dumping resolved the issue.
Lynn
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#56988
; Package
emacs
.
(Fri, 05 Aug 2022 10:08:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 56988 <at> debbugs.gnu.org (full text, mbox):
Lynn Winebarger <owinebar <at> gmail.com> writes:
> Version 28.1:
> Since dumping an Emacs with ~500 core libraries in addition to the 100+ from loadup (596 NCUs in the dump), I noticed
> huge numbers of async jobs compiling trampolines for call-interactively. Adding call-interactively - and
> funcall-interactively for good measure - to the customization variable for functions to never optimize, as well as to the
> hard-coded list in advice--add-function, then recompiling and dumping resolved the issue.
Hi Lynn,
I think we want to keep on optimizing `call-interactively' as changing
this policy this could have a negative performance impact in certain
scenarios.
Perhaps should be investigated why on the process you are engineering
this is happening, and modify it so that only one trampoline is
compiled.
Best Regards
Andrea
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#56988
; Package
emacs
.
(Fri, 05 Aug 2022 12:14:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 56988 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, Aug 5, 2022, 6:07 AM Andrea Corallo <akrl <at> sdf.org> wrote:
> Lynn Winebarger <owinebar <at> gmail.com> writes:
>
> > Version 28.1:
> > Since dumping an Emacs with ~500 core libraries in addition to the 100+
> from loadup (596 NCUs in the dump), I noticed
> > huge numbers of async jobs compiling trampolines for
> call-interactively. Adding call-interactively - and
> > funcall-interactively for good measure - to the customization variable
> for functions to never optimize, as well as to the
> > hard-coded list in advice--add-function, then recompiling and dumping
> resolved the issue.
>
> Hi Lynn,
>
> I think we want to keep on optimizing `call-interactively' as changing
> this policy this could have a negative performance impact in certain
> scenarios.
>
> Perhaps should be investigated why on the process you are engineering
> this is happening, and modify it so that only one trampoline is
> compiled.
Isn't call-interactively only used in the context of requesting user
input? That would seem unlikely to benefit from optimization.
Something in one those additional core libraries being dumped is adding
advice to call-interactively. One of the ways it started is by opening
customize on a group that autoloads a library that hasn't been native
compiled. That starts the async process for the compiler. This will
happen just running emacs with whatever library is advising
call-interactively in a problematic way in the dump. It's not part of my
build process unless I use one of those builds with the additional
libraries as the compiler.
I'm noting it as a bug because it will bite anyone who includes these
additional libraries in the dump as a regular user, not because it impacts
my build process. I know that's not frequently the case now, but it should
be eventually.
Lynn
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#56988
; Package
emacs
.
(Fri, 05 Aug 2022 12:19:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 56988 <at> debbugs.gnu.org (full text, mbox):
Lynn Winebarger <owinebar <at> gmail.com> writes:
> Isn't call-interactively only used in the context of requesting user
> input? That would seem unlikely to benefit from optimization.
Some interactive specs are pretty involved, and definitely benefit from
being compiled, so we're not going to stop doing that.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#56988
; Package
emacs
.
(Fri, 05 Aug 2022 12:35:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 56988 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, Aug 5, 2022, 8:18 AM Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
> Lynn Winebarger <owinebar <at> gmail.com> writes:
>
> > Isn't call-interactively only used in the context of requesting user
> > input? That would seem unlikely to benefit from optimization.
>
> Some interactive specs are pretty involved, and definitely benefit from
> being compiled, so we're not going to stop doing that.
>
Maybe it's only an issue in the "advice" case? I can try removing it from
the customization variable but leave it in the hard coded list in the
advice--add-function code, if that would make a difference.
Lynn
[Message part 2 (text/html, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#56988
; Package
emacs
.
(Sun, 07 Aug 2022 11:33:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 56988 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, Aug 5, 2022, 8:18 AM Lars Ingebrigtsen <larsi <at> gnus.org> wrote:
> Lynn Winebarger <owinebar <at> gmail.com> writes:
>
> > Isn't call-interactively only used in the context of requesting user
> > input? That would seem unlikely to benefit from optimization.
>
> Some interactive specs are pretty involved, and definitely benefit from
> being compiled, so we're not going to stop doing that.
Another possibility would be to ensure there is a standard pdmp file to use
for compiling, regardless of what is being used for the session calling the
compiler. I know that is not an issue at the moment, but I'm the canary in
the coal mine for when dumping additional native compiled units. That
feature is way too nice for someone to not get it in the trunk at some
point.
Lynn
[Message part 2 (text/html, inline)]
Reply sent
to
Andrea Corallo <acorallo <at> gnu.org>
:
You have taken responsibility.
(Wed, 07 Jun 2023 21:19:03 GMT)
Full text and
rfc822 format available.
Notification sent
to
Lynn Winebarger <owinebar <at> gmail.com>
:
bug acknowledged by developer.
(Wed, 07 Jun 2023 21:19:03 GMT)
Full text and
rfc822 format available.
Message #25 received at 56988-done <at> debbugs.gnu.org (full text, mbox):
Hello all,
I'm closing this bug as not reproducible on our codebase.
Best Regards
Andrea
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 06 Jul 2023 11:24:10 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 310 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.