trying to fix

This commit is contained in:
Chris Cochrun 2022-01-03 12:41:35 -06:00
parent fa407dfeb6
commit e013d7569e
22945 changed files with 447936 additions and 0 deletions

View file

@ -0,0 +1,4 @@
<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>