Not sure what happened here.... O.O

This commit is contained in:
Chris Cochrun 2022-02-25 13:54:32 -06:00
parent 34ab43b8f9
commit 0dbc3ead0e
272 changed files with 4767 additions and 12217 deletions

View file

@ -1,4 +0,0 @@
<p>Andrea Corallo gave an interesting talk at <a href="https://emacsconf.org/2021/">EmacsConf 2021</a> on his <a href="https://emacsconf.org/2021/talks/native/">Emacs Lisp native compilation project</a>. For those who dont know, the native compilation project provides a compiler that converts Emacs Lisp into native code for the host machine. The idea is to enable the elimination of much of the Emacs C code in favor of Elisp. Native compilation will be officially released with Emacs 28, which is currently at the <a href="https://irreal.org/blog/?p=10161">Pretest 1</a> phase. That means that native compilation will soon be available and supported for anyone who wants it.</p>
<p>Corallos implementation is a <i>tour de force</i>. His idea was to convert the Elisp byte code into IR for the GCC. He started off with a straightforward translation from the byte code to IR but the Elisp virtual machine is stack based whereas modern CPUs are register based. That means that the naive approach didnt realize the performance increase youd expect.</p>
<p>The current implementation has several passes to translate and optimize Elisp byte code into GCC IR code that GCC can also optimize and use to generate efficient machine code. Corallos talk takes us through the compilation process and explains the problems he encountered.</p>
<p>I found that it was easier to view the video on <a href="https://emacsconf.org/2021/talks/native/">Toobnix</a> because I could make it full screen. The video itself is 39 minutes 8 seconds long so you will need to set some time aside. If you have any interest in this technology, the video is definitely worth your time. Even if you dont care about the technical details, native compilation is going to be a boon to your Emacs experience simply because things will be faster.</p>