unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: emacs-devel@gnu.org, akrl@sdf.org
Subject: Re: master 289000e: Merge branch 'feature/native-comp' into trunk
Date: Mon, 26 Apr 2021 14:54:11 +0000	[thread overview]
Message-ID: <YIbUE9tdMkOYcvSQ@ACM> (raw)
In-Reply-To: <83czuhjh0r.fsf@gnu.org>

Hello, Eli.

On Mon, Apr 26, 2021 at 16:45:56 +0300, Eli Zaretskii wrote:
> > Date: Mon, 26 Apr 2021 13:21:25 +0000
> > Cc: akrl@sdf.org, emacs-devel@gnu.org
> > From: Alan Mackenzie <acm@muc.de>

> > > My suggestion is to load and run the code you want to benchmark, but
> > > after the benchmark finishes, leave Emacs running until 'ps' no longer
> > > shows inferior Emacs processes run in the background -- those are the
> > > subprocesses Emacs starts to natively-compile every .el file your
> > > program loads.  Once all the native-compilation subprocesses exit,
> > > exit your interactive session, and then run the benchmark again; this
> > > time it should show the full speedup of native-compilation.

> > I've tried that, but I don't think the native compile versions of CC Mode
> > got loaded.  If they had been loaded, there would have been _some_ speed
> > up.  What I did was, in essence,

> >     M-: (load-file "~/emacs/emacs.git/master/lisp/progmodes/cc-defs.elc")

> If you specify the .elc extension explicitly, Emacs won't load the
> .eln file instead.  Use "M-x load-library RET cc-defs RET" instead.

OK, I've started emacs -Q, which should surely pick up the natively
compiled files.  But it doesn't seem to.  load-history lists only .elc
files, even for pre-loaded files.  I'm seeing a speed-up of, perhaps 5% -
10%, but that's surely because of all the other natively compiled files,
not the CC Mode ones.

Surely there's a way to check that .eln files have actually been loaded?

When I do M-x locate-library cc-mode, it lists the .el file inside the
emacs-28 directory.

OK, I've tried again with M-x load-library RET cc-mode RET, which gave me
a message stating it was loading the native compiled file.  I then did
the same for cc-engine and cc-fonts.  I still see only the 5% - 10% speed
up.  (CC Mode has already been converted to lexical binding.)

> (And why do you need to load the CC mode files by hand? why not let
> Emacs load them as needed?)

My .emacs pushes several directories onto load-path, including my
"normal" CC Mode directory.  This would supersede the Emacs 28 version.
I typically switch between CC Mode versions several times a session,
sometimes many times.  That's impractical with load-path.

> > > We have a lot to do in the documentation department for this feature.
> > > You can wait until we are done (which could take a while), or you
> > > could ask questions (but in the latter case please be more specific,
> > > so that the answers are useful for you).

> > Sorry, I got the impression that, with the merge, the feature was almost
> > ready for full time use in Emacs.

> I think it's ready.  There are people who use it for several months
> already.  I just didn't feel it would be justified to delay the merge
> because of the documentation.

I must be doing something differently from these people, but I can't
identify what.  Native compilation just doesn't seem to be working for
me, yet.  How much of a speed up should it give me?  Surely more than 5%
- 10%?

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2021-04-26 14:54 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20210425182503.25223.81072@vcs0.savannah.gnu.org>
     [not found] ` <20210425182508.6CC7C2094D@vcs0.savannah.gnu.org>
2021-04-25 18:36   ` master 289000e: Merge branch 'feature/native-comp' into trunk Andrea Corallo via Emacs development discussions.
2021-04-25 18:40     ` Eli Zaretskii
2021-04-25 18:59       ` Andrea Corallo via Emacs development discussions.
2021-04-25 20:25         ` Eli Zaretskii
2021-04-25 18:45     ` Óscar Fuentes
2021-04-25 20:03     ` Alan Mackenzie
2021-04-25 20:14       ` Eli Zaretskii
2021-04-25 21:55         ` Alan Mackenzie
2021-04-26 11:40           ` Eli Zaretskii
2021-04-26 13:21             ` Alan Mackenzie
2021-04-26 13:45               ` Eli Zaretskii
2021-04-26 14:54                 ` Alan Mackenzie [this message]
2021-04-26 15:12                   ` Eli Zaretskii
2021-04-26 17:02                     ` Alan Mackenzie
2021-04-26 17:13                       ` Stefan Monnier
2021-04-26 17:25                       ` Eli Zaretskii
2021-04-28 11:34                         ` Alan Mackenzie
2021-04-28 12:26                           ` Eli Zaretskii
2021-04-28 12:32                             ` Alan Mackenzie
2021-04-28 13:01                               ` Eli Zaretskii
2021-04-28 19:09                               ` Andrea Corallo via Emacs development discussions.
2021-04-26 15:33                   ` Óscar Fuentes
2021-04-26 15:58                     ` Eli Zaretskii
2021-04-26 16:30                       ` Óscar Fuentes
2021-04-26 17:11                     ` Alan Mackenzie
2021-04-26 20:02                       ` Óscar Fuentes
2021-04-28 14:07                         ` Alan Mackenzie
2021-04-28 15:10                           ` Óscar Fuentes
2021-04-26 15:37                   ` Stefan Monnier
2021-04-26 16:06                   ` Andrea Corallo via Emacs development discussions.
2021-04-26 17:05                     ` Alan Mackenzie
2021-04-25 21:48     ` Stefan Monnier
2021-04-25 22:41     ` Stefan Kangas
2021-04-25 22:57     ` Clément Pit-Claudel
2021-04-26 16:16       ` Andrea Corallo via Emacs development discussions.
2021-04-26 13:03     ` wilde
2021-04-26 13:18     ` Minimal recommended version of gcc/libgccjit for native-comp (was: master 289000e: Merge branch 'feature/native-comp' into trunk) wilde
2021-04-26 15:58       ` Minimal recommended version of gcc/libgccjit for native-comp Stefan Monnier
2021-04-26 16:16         ` Eli Zaretskii
2021-04-26 16:32           ` Andrea Corallo via Emacs development discussions.
2021-04-26 16:54             ` Eli Zaretskii
2021-04-26 20:53               ` Andrea Corallo via Emacs development discussions.
2021-04-27  3:52               ` Richard Stallman
2021-04-26 16:18         ` Andrea Corallo via Emacs development discussions.
2021-04-26 16:12       ` Andrea Corallo via Emacs development discussions.
2021-04-27 14:21         ` wilde
2021-04-27 16:35           ` Andrea Corallo via Emacs development discussions.

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=YIbUE9tdMkOYcvSQ@ACM \
    --to=acm@muc.de \
    --cc=akrl@sdf.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).