From 29e3158f24dcefd377201ea9c04dbad51c37440e Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sun, 12 Dec 2021 01:28:44 -0500 Subject: Use wiki directive for (I hope) slightly easier to edit code --- 2021/info/native-schedule.md | 79 +++++++++++++++++++++++++------------------- 1 file changed, 45 insertions(+), 34 deletions(-) (limited to '2021/info/native-schedule.md') diff --git a/2021/info/native-schedule.md b/2021/info/native-schedule.md index d1e0478b..5adddafc 100644 --- a/2021/info/native-schedule.md +++ b/2021/info/native-schedule.md @@ -9,43 +9,54 @@ If you have questions and the speaker has not indicated public contact informati # 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="40.8M" duration="39:08" other_resources="""[Download .odp](https://media.emacsconf.org/2021/emacsconf-2021-native--emacs-lisp-native-compiler-current-status-and-future-developments--andrea-corallo.odp) +[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 -
    -
  1. 00:00 Thanks
  2. -
  3. 01:16 Why is Elisp not a general-purpose programming language, at least not completely?
  4. -
  5. 02:05 Is this activity related to the garbage collector?
  6. -
  7. 02:37 Is the idea to eventually develop Emacs itself in Elisp?
  8. -
  9. 03:42 How did you work on this?
  10. -
  11. 04:27 Does this compilation pipeline introduce vulnerabilities?
  12. -
  13. 05:39 What code, if any, will still benefit significantly from being written in C?
  14. -
  15. 07:28 What's the risk of (setq native-comp-speed 3)?
  16. -
  17. 08:49 Are there any limits introduced by native comp with respect to runtime introspectability, changeability/redefinability, etc?
  18. -
  19. 09:15 Is there a benefit in setting native-comp-compiler-options to "-mtune=native -march="?
  20. -
  21. 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?
  22. -
  23. 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?
  24. -
  25. 14:22 How much of Emacs's C code base could be translated to emacs-lisp? What is the minimum C code base necessary?
  26. -
  27. 16:23 Could we statically type elisp code (via macros?) to provide more optimization hints to compiler?
  28. -
  29. 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?
  30. -
  31. 18:55 Did you try to optimize with Rust too? What are your thoughts on Rust for this particular optimization and security?
  32. -
  33. 21:35 Does the native compilation interface with the Emacs profiling tools?
  34. -
  35. 22:59 Where did funding for your work come from?
  36. -
  37. 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?
  38. -
  39. 28:36 Is this the first real-world practical use of libgccjit?
  40. -
  41. 29:47 Is there any task you need help with?
  42. -
  43. 33:49 What's a good way to proceed?
  44. -
  45. 38:37 What kind of packages do you think could now be practical with native comp?
  46. -
  47. 40:46 Why not implement Emacs Lisp in Guile and use Guile's compiler?
  48. -
  49. 46:29 What are some other hobbies/interests of yours besides Emacs?
  50. -
  51. 48:27 Will you be presenting at ELS or anywhere else in the next year?
  52. -
  53. 51:04 How to make Emacs more popular?
  54. -
  55. 59:46 Do you have 'wish list' features, things you long for Emacs to be able to do?
  56. -
  57. 01:02:04 From BBB chat: dickmao has a patch that makes Gnus async....
  58. -
  59. 01:05:33 Advice for anyone who wants to bring something into Emacs core
  60. -
  61. 01:10:20 Do you have any advice on how to approach the upstream development community?
  62. -
+[[!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" captions="""""" +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 -- cgit v1.2.3