emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-persist-write slowing down kill-buffer
@ 2024-04-18  3:02 Karthik Chikmagalur
  2024-04-19 12:38 ` Ihor Radchenko
  0 siblings, 1 reply; 2+ messages in thread
From: Karthik Chikmagalur @ 2024-04-18  3:02 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1951 bytes --]

Hi,

I've been noticing that kill-buffer blocks Emacs for a noticeable
period when killing org buffers.  Here are elp results obtained by
instrumenting org-persist-* and kill-buffer:

| Function name                     | Call count | Elapsed time | Average time |
|-----------------------------------+------------+--------------+--------------|
| kill-buffer                       |         38 | 2.5647546329 | 0.0674935429 |
| org-persist-write-all-buffer      |          1 |  2.562779994 |  2.562779994 |
| org-persist-write-all             |          1 |   2.56277329 |   2.56277329 |
| org-persist-write                 |          1 |  1.627834788 |  1.627834788 |
| org-persist--write-elisp-file     |          1 |  0.312172392 |  0.312172392 |
| org-persist--find-index           |       4808 | 0.0480629129 | 9.996...e-06 |
| org-persist--normalize-associated |          4 |  0.007245059 | 0.0018112647 |
| org-persist--normalize-container  |          7 | 0.0001262719 | 1.803...e-05 |
| org-persist--get-collection       |          1 |  0.000113982 |  0.000113982 |
| org-persist-write:elisp           |          2 | 2.647...e-05 | 1.323...e-05 |
| org-persist--display-time         |          1 |    3.772e-06 |    3.772e-06 |
| org-persist-write:version         |          1 |    1.467e-06 |    1.467e-06 |

It blocks Emacs for about 3 seconds each time.  Any Org file with > 500
lines causes this behavior.

I've also attached the sampling profiler output from killing an Org
buffer.

Some facts that might be relevant:

- I'm using the WIP LaTeX preview system fork of Org, but there are no
  LaTeX previews in the Org buffers that I run these tests on.  (There
  aren't even any LaTeX fragments.)

- My org-persist-dir is 627MB in size.

This is Emacs 29.3 (pgtk branch), the Org commit that the LaTeX preview
patches are rebased on is 1ae978f940c0f88473f2232177c63a0de7fb7a1c.

Let me know if I can help with more information.

Karthik

[-- Attachment #2: kill-buffer-profiler-report.eld --]
[-- Type: application/octet-stream, Size: 58047 bytes --]


[profiler-profile "28.1" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 119 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>" apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil nil] 5 [eval redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 2 ["#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_28>" auto-revert--buffer-candidates "#<subr auto-revert-buffers>" auto-revert-buffers--buffer-list-filter apply auto-revert-buffers apply timer-event-handler nil nil nil nil nil nil nil nil] 1 ["#<subr auto-revert-buffers>" auto-revert-buffers--buffer-list-filter apply auto-revert-buffers apply timer-event-handler nil nil nil nil nil nil nil nil nil nil] 1 [file-notify-rm-watch auto-revert-notify-rm-watch kill-buffer if if my/kill-this-buffer funcall-interactively command-execute nil nil nil nil nil nil nil nil] 5 [setq if let "#<lambda 0x57e2e28f53f>" funcall cond let* org-persist--normalize-associated setq org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer] 3 ["#<compiled -0x15a07aadecfcd50a>" "#<compiled -0x6aa168b2d51a5ea>" sort-coding-systems find-coding-systems-region select-safe-coding-system secure-hash setq if let "#<lambda 0x57e2e28f53f>" funcall cond let* org-persist--normalize-associated setq org-persist-write-all] 1 [equal and if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer funcall-interactively command-execute nil nil nil nil] 1 [if let* setq progn if if let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if] 850 [if let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer funcall-interactively command-execute nil] 1 [let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer funcall-interactively command-execute nil nil] 2 [while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer funcall-interactively command-execute nil nil nil] 2 [let* setq progn if if let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if] 3 [setq progn if if let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer] 3 [cons gethash and or setq let let while let catch and let* with-no-warnings org-persist--find-index let let] 9 [let catch and let* with-no-warnings org-persist--find-index let let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer] 3 [setq let let while let catch and let* with-no-warnings org-persist--find-index let let while let let if] 1 [or setq let let while let catch and let* with-no-warnings org-persist--find-index let let while let let] 7 [and or setq let let while let catch and let* with-no-warnings org-persist--find-index let let while let] 9 [let while let catch and let* with-no-warnings org-persist--find-index let let while let let if org-persist-write-all if] 2 [let let while let catch and let* with-no-warnings org-persist--find-index let let while let let if org-persist-write-all] 1 [gethash or setq let let while let catch and let* with-no-warnings org-persist--find-index let let while let] 3 [while let catch and let* with-no-warnings org-persist--find-index let let while let let if org-persist-write-all if org-persist-write-all-buffer] 3 [let* with-no-warnings org-persist--find-index let let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer] 2 [with-no-warnings org-persist--find-index let let while let let if org-persist-write-all if org-persist-write-all-buffer kill-buffer if if my/kill-this-buffer funcall-interactively] 1 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function let* if org-persist--normalize-container "#<lambda 0x1842b4e8c>" mapcar "#<lambda 0x1e1a12a4d68c3b>" funcall cond let* cond let*] 1 [avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success "#<lambda 0x160f9159617659c6>" cl-some or if let] 2 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 17 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let] 7 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function] 3 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv] 3 [cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success] 6 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 5 [cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>"] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>"] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 5 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 16 [progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction] 5 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if] 3 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 6 [function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction] 12 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 10 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc] 5 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 4 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 4 [catch org-element-property-raw--inliner apply macroexp--compiler-macro macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>"] 3 [let* or let if if "#<lambda 0x57c74640>" funcall prog1 catch let progn if cond let "#<lambda 0x134081200d6bd1e2>" funcall] 1 [let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if] 1 [let "#<lambda 0x134081200d6bd1e2>" funcall let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let*] 1 [car eq if let cond let* and and let* let let if cond cond let "#<lambda 0x134081200d6bd1e2>"] 1 ["#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success "#<lambda 0x160f9159617659c6>" cl-some or if] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if] 3 [let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map] 1 [eq if "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success "#<lambda 0x160f9159617659c6>"] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq] 4 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 4 [let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write] 6 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc] 7 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq] 5 [org-element-property-raw if funcall let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let*] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 9 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [let let org-element-property-raw if funcall let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 2 [macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc] 3 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 1 [cond org-element-type let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>"] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let] 6 [progn if let if "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write] 1 [function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success "#<lambda 0x160f9159617659c6>"] 7 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 5 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let*] 3 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function] 1 [org-element-contents mapc cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if] 1 [or let cond let* if let* let let org-element-property-raw if funcall let while let progn if] 1 [if let cond let* or let if if "#<lambda 0x57c74640>" funcall prog1 catch let progn if cond] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 11 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 11 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 5 [let* catch org-element-property-raw--inliner apply macroexp--compiler-macro macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer] 2 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if] 6 [not cond org-element--property-idx let let* let* catch org-element-property-raw--inliner apply macroexp--compiler-macro macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [symbolp cond org-element-type eq if "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 9 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc] 5 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 3 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn] 4 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [if let* let* catch org-element-property-raw--inliner apply macroexp--compiler-macro macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if] 1 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [or let let org-element-property-raw if funcall let while let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch] 1 [cconv-fv cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc] 5 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let*] 3 [progn if let if if "#<lambda 0x57c74640>" funcall prog1 catch let progn if cond let "#<lambda 0x134081200d6bd1e2>" funcall] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>"] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 3 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 3 [cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer] 2 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 1 [let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq] 4 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map] 2 [progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let*] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 1 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 2 [cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>"] 1 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 4 [or let let org-element-property-raw if funcall let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 2 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn if] 2 [org-element-type let* or let if if "#<lambda 0x57c74640>" funcall prog1 catch let progn if cond let "#<lambda 0x134081200d6bd1e2>"] 1 ["#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success "#<lambda 0x160f9159617659c6>" cl-some or] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 3 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 3 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let*] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let] 3 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms] 2 [cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>"] 1 [let progn if cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if] 3 [symbolp cond org-element-contents mapc cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let*] 1 [eq if let cond let* and and let* let let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall] 1 [progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if] 1 [let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc] 1 [let* let let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let*] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>"] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 2 [macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let*] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc] 2 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>"] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>"] 1 [macroexp--all-forms macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 2 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction] 1 [if let* let let org-element-property-raw if funcall let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>"] 1 [let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let* progn] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure function setq let let* progn] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map] 1 [macroexp-macroexpand macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>"] 1 [macroexp--expand-all macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map] 2 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses] 2 [cond org-element-type let* if let* let let org-element-property-raw if funcall let while let progn if cond] 1 [macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn] 1 [if if "#<lambda 0x57c74640>" funcall prog1 catch let progn if cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let*] 1 [if "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer if progn if org-element--cache-persist-before-write run-hook-with-args-until-success "#<lambda 0x160f9159617659c6>" cl-some] 1 [let while let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if org-element-ast-map let*] 1 [org-element--property-idx let org-element-property-raw if funcall let while let progn if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function] 1 [if let* if let* let let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn] 1 [cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv-analyze-form cconv--analyze-function cconv-analyze-form cconv-fv cconv-make-interpreted-closure] 1 [eq or not cond org-element--property-idx let let* let* catch org-element-property-raw--inliner apply macroexp--compiler-macro macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure] 1 [let* progn if org-element-ast-map let* progn if org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc save-restriction save-excursion if save-current-buffer] 1 [macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function setq let let* progn if org-element-ast-map let*] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms] 1 [let* if let* let let if cond cond let "#<lambda 0x134081200d6bd1e2>" funcall catch let let* progn if] 1 [macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexpand-all cconv-make-interpreted-closure function org-element-map "#<lambda 0xd232c25fc33650>" "#<compiled 0x1ac0f218952a1f54>" avl-tree--mapc avl-tree-mapc] 1 [macroexp-macroexpand macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--expand-all macroexp--all-forms macroexp--all-clauses macroexp--expand-all macroexp--all-forms macroexp--expand-all] 1 [or if if let if org-persist-write condition-case progn if let let while let let if org-persist-write-all] 1 [if save-current-buffer prog1 unwind-protect let let org-persist--write-elisp-file let progn if if let if org-persist-write condition-case progn] 26 [save-current-buffer prog1 unwind-protect let let org-persist--write-elisp-file let progn if if let if org-persist-write condition-case progn if] 4 ["#<compiled -0x6fe473ddde3b954>" "#<compiled 0x16a49fa4df2e3484>" mapc seq-do seq-some project-x-try-local project--find-in-directory project-current and let* "#<lambda 0x13334f3>" apply setq prog1 if "#<lambda 0x17ede5a8af78692e>"] 1 [run-hook-with-args redisplay--pre-redisplay-functions redisplay_internal\ \(C\ function\) nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [prog1 if my/run-profiler funcall-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 1 [Automatic\ GC] 1042)) (26144 34338 623528 523000) nil]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: org-persist-write slowing down kill-buffer
  2024-04-18  3:02 org-persist-write slowing down kill-buffer Karthik Chikmagalur
@ 2024-04-19 12:38 ` Ihor Radchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2024-04-19 12:38 UTC (permalink / raw)
  To: Karthik Chikmagalur; +Cc: emacs-orgmode

Karthik Chikmagalur <karthikchikmagalur@gmail.com> writes:

> I've been noticing that kill-buffer blocks Emacs for a noticeable
> period when killing org buffers.  Here are elp results obtained by
> instrumenting org-persist-* and kill-buffer:
>
> | Function name                     | Call count | Elapsed time | Average time |
> |-----------------------------------+------------+--------------+--------------|
> | kill-buffer                       |         38 | 2.5647546329 | 0.0674935429 |
> | org-persist-write-all-buffer      |          1 |  2.562779994 |  2.562779994 |
> | org-persist-write-all             |          1 |   2.56277329 |   2.56277329 |
> | org-persist-write                 |          1 |  1.627834788 |  1.627834788 |
> | org-persist--write-elisp-file     |          1 |  0.312172392 |  0.312172392 |

> It blocks Emacs for about 3 seconds each time.  Any Org file with > 500
> lines causes this behavior.
>
> I've also attached the sampling profiler output from killing an Org
> buffer.
>
> Some facts that might be relevant:
>
> - I'm using the WIP LaTeX preview system fork of Org, but there are no
>   LaTeX previews in the Org buffers that I run these tests on.  (There
>   aren't even any LaTeX fragments.)
>
> - My org-persist-dir is 627MB in size.

What is your (length org-persist--index) ?

Also, it does not look like your `org-element-ast-map' is compiled.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-19 12:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-18  3:02 org-persist-write slowing down kill-buffer Karthik Chikmagalur
2024-04-19 12:38 ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).