unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Alan Mackenzie <acm@muc.de>
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:40:11 +0300	[thread overview]
Message-ID: <83v989jmuc.fsf@gnu.org> (raw)
In-Reply-To: <YIXlUSob4AFSqTL3@ACM> (message from Alan Mackenzie on Sun, 25 Apr 2021 21:55:29 +0000)

> Date: Sun, 25 Apr 2021 21:55:29 +0000
> Cc: akrl@sdf.org, emacs-devel@gnu.org
> From: Alan Mackenzie <acm@muc.de>
> 
> > > What else do I need to know, successfully to build and run the
> > > native compilation feature?
> 
> > Hopefully, nothing (just to build and run).
> 
> This is sadly far from true.  You need to know basic things like native
> compile files are .eln.  You need to know how to compile files.  I
> guessed that
> 
>     $ emacs -Q -batch -f batch-native-compile lisp/progmodes/cc-*.el
> 
> would natively compile CC Mode.

You originally said nothing about compiling any Lisp files, let alone
measuring the performance of CC Mode as result of native-compilation.
The answer I gave specifically said "just to build and run".

Indeed, for your purpose, one needs to do more.

> Well, it took several minutes of processing in which it did
> something, but I don't know what.  A find failed to find
> '*cc-*.eln'.

I believe they should be under your ~/.emacs.d/eln-cache/ directory.

> On restarting Emacs, my favourite CC Mode benchmark was only
> marginally (~4%) faster.

I'm guessing that you didn't compile everything you need natively.  It
is quite hard to determine "by hand" which Lisp files will be needed,
as CC Mode files use Lisp code from many other files, and they all
need to be natively-compiled to see the full benefits.

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'm frustrated at the moment.  I want to use this new feature, but don't
> know how to, and can't find any documentation.  "native compilation"
> doesn't seem to appear in either the Emacs or the Elisp manual.

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).



  reply	other threads:[~2021-04-26 11:40 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 [this message]
2021-04-26 13:21             ` Alan Mackenzie
2021-04-26 13:45               ` Eli Zaretskii
2021-04-26 14:54                 ` Alan Mackenzie
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=83v989jmuc.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=acm@muc.de \
    --cc=akrl@sdf.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).