[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 %
From: |
Eli Zaretskii |
Subject: |
Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp |
Date: |
Sun, 26 Feb 2023 08:25:32 +0200 |
> From: Madhu <enometh@meer.net>
> Date: Sun, 26 Feb 2023 08:38:49 +0530
>
> * Eli Zaretskii <83k00btcsl.fsf @gnu.org> :
> Wrote on Tue, 21 Feb 2023 14:37:14 +0200:
> >> From: Madhu <enometh@meer.net>
> >> Date: Tue, 21 Feb 2023 12:34:21 +0530
>
> >> Is my understanding of the documentation - that native compilation is
> >> an automatic side effect of byte compiling, wrong?
> >
> > Yes, it's wrong. Native compilation happens automatically when you
> > _load_ a .elc file, not when you compile it.
>
> The info manual I was looking at (info "(elisp) Native-Compilation
> Functions") has this text
>
> "Native-Compilation is implemented as a side effect of
> byte-compilation"
It goes on by saying
Thus, compiling Lisp code natively always produces its byte code as well
So the above has nothing to do with _when_ does native compilation
happen. It just says _how_ it works: by launching a byte-compilation
and using its by-products internally to produce native code.
> In any case maybe I should file a bug? because this the behaviour I
> reported doesn't meet the expectations. In a fresh emacs -Q: the
> following 3 forms all load a fib.elc file from the current directory
> (say "/dev/shm") without producing an eln file. ("doesn't work")
>
> (byte-compile-file "fib.el" t) ; doesn't work
> (load-file "fib.elc") ; doesn't work
> (load "/dev/shm/fib.elc" nil nil t) ; doesn't work
This is a feature, so filing a bug report against it won't be useful.
Think about it: if the above would load a .eln file instead, how would
a Lisp program be able to force Emacs to load a .elc file?
Therefore, when you specify an explicit extension, be it .el or .elc,
Emacs loads that specific file, nothing more, nothing less. Exactly
like '(load "foo.el")' in previous versions of Emacs always loaded the
.el file, even if the .elc file was available.
> The only form which works seems to be when load is called with a full
> pathname after omitting the ".el" or ".elc" suffix provided there is an
> elc at that location.
> i.e.
> (load "/dev/shm/fib")
>
> only this form produces an eln file in the user's eln-cache directory.
That's how it is supposed to work.
- FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, (continued)
- FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Drew Adams, 2023/02/26
- Re: FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Eli Zaretskii, 2023/02/26
- RE: FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Drew Adams, 2023/02/26
- Re: FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Eli Zaretskii, 2023/02/26
- RE: FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Drew Adams, 2023/02/26
- Re: FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Eli Zaretskii, 2023/02/26
- Re: FW: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Emanuel Berg, 2023/02/27
- Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Emanuel Berg, 2023/02/27
- Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Emanuel Berg, 2023/02/27
- Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Madhu, 2023/02/27
- Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp,
Eli Zaretskii <=
- RE: [External] : Re: Native compilation by default?: Was [Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Drew Adams, 2023/02/26
- Re: stats say SBCL is 78 875 % faster than natively compiled Elisp, Jean Louis, 2023/02/19