[[!toc ]] Q&A: live Duration: 39:08 If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at and we'll forward your question to the speaker. # Talk [[!template id="vid" vidid="mainVideo" src="https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--main.webm" poster="https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--main.png" captions="""""" size="89M" duration="39:08" other_resources="""[Download .odp (3.6MB)](https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo.odp) [Download --compressed56.webm (40.8MB)](https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--compressed56.webm) [Download --main.vtt](https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--main.vtt) [View on Toobnix](https://toobnix.org/w/aCnFuNEzX1kMKJp3q31YKx) """]] # Q&A [[!template id="vid" vidid="qanda" src="https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--answers.webm" poster="https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--answers.png" size="141.8M" duration="75:02" other_resources="""[Download --answers--chapters.vtt](https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo--answers--chapters.vtt) """]] [[!template id="chapters" vidid="qanda" data=""" 00:00 Thanks 01:16 Why is Elisp not a general-purpose programming language, at least not completely? 02:05 Is this activity related to the garbage collector? 02:37 Is the idea to eventually develop Emacs itself in Elisp? 03:42 How did you work on this? 04:27 Does this compilation pipeline introduce vulnerabilities? 05:39 What code, if any, will still benefit significantly from being written in C? 07:28 What's the risk of (setq native-comp-speed 3)? 08:49 Are there any limits introduced by native comp with respect to runtime introspectability, changeability/redefinability, etc? 09:15 Is there a benefit in setting native-comp-compiler-options to "-mtune=native -march="? 10:11 You mentioned native-comp coming in emacs 28. Will this be the default at build time, or will distros have to set this themselves? 11:54 Could we avoid libgccjit.so? Or consider using another jit lib (e.g. dynasm used by luajit) et al to gain better optimization? 14:22 How much of Emacs's C code base could be translated to emacs-lisp? What is the minimum C code base necessary? 16:23 Could we statically type elisp code (via macros?) to provide more optimization hints to compiler? 17:27 Elisp and Python all are dynamically typed langauge, but benchmark shows that Elisp runs slower than Python. Could we learn some best practices from the Python community? 18:55 Did you try to optimize with Rust too? What are your thoughts on Rust for this particular optimization and security? 21:35 Does the native compilation interface with the Emacs profiling tools? 22:59 Where did funding for your work come from? 27:04 What kind of application do I envision native comp enabling to work well in Emacs in the next few years, and which one would not be possible? 28:36 Is this the first real-world practical use of libgccjit? 29:47 Is there any task you need help with? 33:49 What's a good way to proceed? 38:37 What kind of packages do you think could now be practical with native comp? 40:46 Why not implement Emacs Lisp in Guile and use Guile's compiler? 46:29 What are some other hobbies/interests of yours besides Emacs? 48:27 Will you be presenting at ELS or anywhere else in the next year? 51:04 How to make Emacs more popular? 59:46 Do you have 'wish list' features, things you long for Emacs to be able to do? 01:02:04 From BBB chat: dickmao has a patch that makes Gnus async.... 01:05:33 Advice for anyone who wants to bring something into Emacs core 01:10:20 Do you have any advice on how to approach the upstream development community? """]] # Description