[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
org-persist-write slowing down kill-buffer
From: |
Karthik Chikmagalur |
Subject: |
org-persist-write slowing down kill-buffer |
Date: |
Wed, 17 Apr 2024 20:02:22 -0700 |
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
kill-buffer-profiler-report.eld
Description: Binary data
- org-persist-write slowing down kill-buffer,
Karthik Chikmagalur <=