News for hackers. Stuff that matters.
Re:The Emacs-28 release branch has been created by nanna on Friday October 01, 2021 @09:21AM (#28718083)
What actually is native compilation? Anyone mind explaining?
Re:The Emacs-28 release branch has been created by vkazanov on Friday October 01, 2021 @09:26AM (#28718154)
Emacs lisp can be compiled into bytecode (*.elc files) for faster execution.

Native compilation takes bytecode and compiles (all while doing some smart things like type and value propagation) it into machine code utilising libgccjit.

This results in some very nice speed gains.

The author described the project in his blog here: https://akrl.sdf.org/gccemacs.html

Re:The Emacs-28 release branch has been created by ajdlinux on Friday October 01, 2021 @09:24AM (#28718114)
From what I can tell from https://www.emacswiki.org/emacs/GccEmacs - enabling a JIT for Emacs Lisp
Re:The Emacs-28 release branch has been created by vkazanov on Friday October 01, 2021 @09:27AM (#28718167)
It's not a JIT compiler, really. Just one more step (a big one, admittedly) for the existing bytecode compiler.
Re:The Emacs-28 release branch has been created by agumonkey on Friday October 01, 2021 @09:31AM (#28718202)
Aot in a way right ?
Re:The Emacs-28 release branch has been created by vkazanov on Friday October 01, 2021 @09:55AM (#28718452)
Yes, some kind of lazy ahead-of-time compilation.

By default the native compiler kicks in as soon as Emacs finds a bytecompiled file without a machine code equivalent. The resulting machine code is cached then for future use so this only happens once per a single *.elc file.

At least this is what i remember from the last time I checked the code :-)

Re:The Emacs-28 release branch has been created by kragen on Friday October 01, 2021 @09:25AM (#28718136)
Compiling to machine code