all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: acorallo@gnu.org
Cc: 65250@debbugs.gnu.org
Subject: bug#65250: 30.0.50; "C-h f" is much slower on the master branch
Date: Mon, 14 Aug 2023 17:40:13 +0300	[thread overview]
Message-ID: <835y5hbsc2.fsf@gnu.org> (raw)
In-Reply-To: <83cyzpbyuz.fsf@gnu.org> (message from Eli Zaretskii on Mon, 14 Aug 2023 15:19:16 +0300)

> Cc: 65250@debbugs.gnu.org
> Date: Mon, 14 Aug 2023 15:19:16 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
>    'configure -C --prefix=/d/usr --with-wide-int
>    --enable-checking=yes,glyphs 'CFLAGS=-O0 -gdwarf-4 -g3''
> 
> Perhaps --enable-checking makes the difference?
> 
> If even that doesn't show the problem, just time the above and compare
> with Emacs 29: it's possible that the command is much faster on your
> system, but the question is it significantly slower than Emacs 29?

It sounds like the problem is the packages that Emacs needs to load
when comp-function-type-spec is called.  If I set force-load-messages
to t before invoking "C-h f", I see this in the *Messages* buffer:

  Loading help-fns...
  Loading cl-lib...
  Loading cl-loaddefs...done
  Loading cl-lib...done
  Loading help-mode...done
  Loading radix-tree...done
  Loading help-fns...done
  Loading thingatpt...done
  Loading dictionary...
  Loading dictionary-connection...done
  Loading external-completion...done
  Loading dictionary...done
  Loading lisp/emacs-lisp/comp.el (source)...
  Loading bytecomp...done
  Loading cl-extra...done
  Loading cl-macs...
  Loading gv...done
  Loading cl-macs...done
  Loading cl-seq...done
  Loading rx...done
  Loading subr-x...done
  Loading warnings...
  Loading icons...done
  Loading warnings...done
  Loading lisp/emacs-lisp/comp-cstr.el (source)...
  Loading pcase...done
  Loading lisp/emacs-lisp/comp-cstr.el (source)...done
  Loading derived...done
  Loading lisp/emacs-lisp/comp.el (source)...done
  Loading shortdoc...
  Loading text-property-search...done
  Loading shortdoc...done

Note the loading of comp.el and comp-cstr.el -- we load their source
files, not the *.elc files.  That's because in a build without native
compilation these two files are not byte-compiled.  I think loading of
these files, especially of comp.el, in source form is what slows down
the command.

I'm guessing your build was with native compilation?  Because in such
a build the "C-h f" command is indeed fast, especially after the
requisite *.el files are all native-compiled (i.e. starting from the
second Emacs invocation after the build).

So I think the patch I presented in my original report is exactly what
is needed here: the problem only happens in builds without
native-compilation, and in that case there's no reason whatsoever to
call comp-function-type-spec.  (And builds from a release tarball will
not see that problem, since the tarball comes with byte-compiled
comp.el and comp-cstr.el.)

Do you agree?





  reply	other threads:[~2023-08-14 14:40 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-12 15:49 bug#65250: 30.0.50; "C-h f" is much slower on the master branch Eli Zaretskii
2023-08-12 16:57 ` Andrea Corallo
2023-08-12 17:23   ` Eli Zaretskii
2023-08-14  8:59 ` Andrea Corallo
2023-08-14 12:19   ` Eli Zaretskii
2023-08-14 14:40     ` Eli Zaretskii [this message]
2023-08-14 14:51       ` Andrea Corallo
2023-08-14 15:11         ` Eli Zaretskii
2023-08-14 15:19           ` Andrea Corallo
2023-08-14 15:45             ` Andrea Corallo
2023-08-16  8:37               ` Andrea Corallo
2023-08-16 13:12                 ` Eli Zaretskii
2023-08-16 13:55                   ` Andrea Corallo
2023-08-16 14:52                     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=835y5hbsc2.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=65250@debbugs.gnu.org \
    --cc=acorallo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.