UP | HOME

emacs-提升org-roam大文件保存速度

[2024-11-06 周三 10:09]

在编辑一些较大的org文件时,往往会在保存的时候卡一秒多。经过排查,问题出在org-roam的默认设置上。

根据Org-Roam Manual里的说法:

6.3 When to cache

6.3 何时进行缓存

By default, Org-roam is eager in caching: each time an Org-roam file is modified and saved, it updates the database for the corresponding file. This keeps the database up-to-date, causing the least surprise when using the interactive commands.

默认情况下,Org-roam 在缓存方面表现积极:每次修改并保存 Org-roam 文件时,它都会更新相应文件的数据库。这使得数据库始终保持最新状态,在使用交互式命令时带来最小的意外。

However, depending on how large your Org files are, database updating can be a slow operation. You can disable the automatic updating of the database by setting org-roam-db-update-on-save to nil.

然而,根据您的 Org 文件大小,数据库更新可能会是一个缓慢的操作。您可以通过将 org-roam-db-update-on-save 设置为 nil 来禁用数据库的自动更新。

Variable: org-roam-db-update-on-save

变量:org-roam-db-update-on-save ¶

If t, update the Org-roam database upon saving the file. Disable this if your files are large and updating the database is slow.

如果启用,则在保存文件时更新 Org-roam 数据库。如果文件较大且更新数据库速度较慢,请禁用此功能。

每次保存org-roam文件时,都会执行一次数据库更新。这对于小体量文件来说很快,但稍微大一点的就容易引发卡顿。

我们可以如下设置:

;;关闭自动更新db
(setq org-roam-db-update-on-save nil)
;;空闲10秒后执行更新db
(run-with-idle-timer 10 t 'org-roam-db-sync)

▲ 编辑于 [2024-11-06 周三 10:13] | © Published by Emacs 31.0.50 (Org mode 9.7.16) on [2024-11-21 周四 00:22] | RSS