emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 289000e: Merge branch 'feature/native-comp' into trunk


From: Alan Mackenzie
Subject: Re: master 289000e: Merge branch 'feature/native-comp' into trunk
Date: Mon, 26 Apr 2021 14:54:11 +0000

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 via email to

[Prev in Thread] Current Thread [Next in Thread]