summaryrefslogtreecommitdiffstats
path: root/2021/info/faster-schedule.md
blob: 4ae1edb7a0e279614ed228a2adcf4d45855c2f6f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<!-- Automatically generated by conf-create-info-pages -->

[[!toc  ]]
Q&A: live  
Duration: 35:35  


If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at <emacsconf-submit@gnu.org> and we'll forward your question to the speaker.

# Talk

[[!template id="vid" vidid="mainVideo" src="https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--main.webm" poster="https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--main.png" captions="""<track label="English" kind="captions" srclang="en" src="/2021/captions/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--main.vtt" default />"""
size="97.5M" duration="35:35" other_resources="""[Download .org](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov.org)  
[Download .el](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov.el)  
[Download --compressed56.webm (57.5MB)](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--compressed56.webm)  
[Download --main.vtt](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--main.vtt)  
[Download --chapters.vtt](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--chapters.vtt)  
[Download --main--chapters.vtt](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--main--chapters.vtt)  
[View on Toobnix](https://toobnix.org/w/kJkKrSyfeuhL7Gttgxb572)  
"""]]
[[!template id="chapters" vidid="mainVideo" data="""
00:01 Introduction
02:36 Emacs Lisp is a little old
04:19 Benchmark then optimize, not vice versa
05:03 profiler-start
09:31 elp - Emacs Lisp Profiler
13:01 benchmark
19:13 Write less code
20:00 Reduce allocations
22:52 Recent optimizations in Xref
30:52 cl-lib, dash, and seq
"""]]


# Q&A

[[!template id="vid" vidid="qanda" src="https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--answers.webm" poster="https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--answers.png" 
size="96.9M" duration="41:29" other_resources="""[Download --answers--compressed32.webm (85.8MB)](https://media.emacsconf.org/2021/emacsconf-2021-faster--optimizing-emacs-lisp-code--dmitry-gutov--answers--compressed32.webm)  
"""]]
[[!template id="chapters" vidid="qanda" data="""
00:00 Why are overlays slow compared to text properties?
03:21 Would these optimizations be helpful in a personal init.el?
04:28 What's a good approach for benchmarking destructive operations?
06:06 Do you recommend avoiding cl-defstruct in favour of "pure" lists/vectors?
08:20 Possible to optimize Emacs packages with code compiled from other languages?
10:26 (Q&A logistics)
12:25 What about text properties vs. buffer-local variables to store position cache?
18:40 Followup on earlier cl-defstruct benchmark discussion RE: AVL trees
30:48 Does cl-defstruct have memory overhead/general memory usage discussion
"""]]


# Description