org-roam v2使用情况调查

情报收集贴~ 大家用v2实际体验如何?有什么坑点?

我想用roam辅助课题研究和整理。之前用v1,经常遇到30秒超时问题,使用成本太高,实际处于搁置状态。

业余时间不足,旧笔记量很大,做切换的包袱比较重。我想等它极为成熟了再做切换,所以想看看大家的情况~

v1是sqlite相关的超时吗?

我目前也在用v1,我觉得单文件挺好的。这个超时我应该也遇到过,我是把代码里的sqlite3改成sqlite(需要安装emacsql-sqlite),后来没再出现过。

是一个很成熟的包,每天用。

v2 提供了迁移的方法(迁移之前一定要做备份)。

已经很成熟了,现在基本没有什么新 commit/PR 了。我猜不会有太大变动了。

v1 的问题在于链接是文件路径,动也不能动,一动就挂。

有大佬不想迁移到 v2,是因为不太很喜欢 v2 heading 级别的 node 细度,而不是 v1 文件级别 的 note 细度。GitHub - d12frosted/vulpea: A collection of functions for note taking based on `org` and `org-roam`. 这个包提供了定制方法:

;; vulpea 仓库文档里抄的
(setq vulpea-find-default-filter
      (lambda (note)
        (= (vulpea-note-level note) 0))) ;; 0 为 file; 1 为 heading, 同默认

能diff下修改不?我也救一下试试~

再请指教下哈~

  1. v2的设计理念、标注格式,未来还会大改吗? (大到出v3,或者社区里再出现新的roam插件)

  2. v2的设计实践中,还有没有其他模棱两可、有争议的设计? (如果只有文件、标题颗粒度这一个争议点了,我觉得可以去适应它)

  3. 你的链接数量规模下,日常使用的性能如何? (启动初始化时间?重命名一个链接时,批量更新笔记内容的速度如何?)

  4. 是否有其他出错、卡手、影响效率的情况?

很简单,我截个图你看看

P.S. 后来还有个修改是org-roam.el(require 'ucs-normalize),找不到某个函数还是变量我忘了,跟sqlite不相关。要是你也碰到了,可以参考。

1 个赞

已经用了很长时间了. 感觉还行.

不过, 如果文件太大, 就会比较慢. 感觉只适合碎片化管理.

1 个赞

V2版本用了小半年了,没遇到什么问题

1 个赞
  1. 很久没逛 org-roam-discource 了,印象里作者和几位主要维护者表示过这个包已经很稳定了,主要是修 bug, 不太会新加功能了。 v2 解决了几个问题: a. 强化链接的可靠性,去除不稳定的文件路径,使用 uuid。 b. 回归原生函数,使用org-mode本身的api。 c. 使用了 emacs 内置的 emacs-sqlite-builtin

  2. 没有很明显的争议吧。

  3. 文件里有很多的标题和链接,db-sync 的一瞬间能感觉到明显延迟,标题和链接少的时候不太能感受到性能问题。

  4. 不使用第三方包的情况下基本没什么大问题的,卡手的情况主要在自动补全笔记的时候(归因于gc)

1 个赞

升级不太顺利,明天再试试

一定要做好备份。

我一直使用的v1, 刚编译了emacs29来试图使用builtin的sqlite来加速一开始的读取速度.

把org-roam-db升级成为使用内置sqlite后, 我发现竟然没有什么速度的提升, 奇了怪了…

昨晚挂机4个小时,迁移完成了!

  • org-roam-buffer-toggle可以显示反向链接,核心似乎没啥问题。
  • 有时输出一些警告,得再查下是否相关。所以暂时只在这一台电脑上跑。
  • org-roam-db-sync时间很长,要10秒。这应该是个高频操作?每次新增链接后,想引用,应该都要调一下吧?

以前尝试过org-roam感觉不太顺畅,这次感觉确实稳定了,已经把所有org notes放到org-roam里面了

windows emacs29.0.60

windows emacs29.0.60 需要自行编译 sqlite 吗?谢谢您!

没有经过编译

我转到 v2 很久(应该半年以上),印象中没有遇到什么问题。升级的时候,麻烦一点,我好像失败了。当时,索性,我连旧的笔记都不要了,:smile:。旧笔记也不是丢弃,当做普通 org 文件,新笔记遇到跟旧笔记相关联的信息的时候,再顺手 grep、Copy or Paste 重新整理一下。

我感觉我用了两年多了吧。很稳定了, 没什么问题。

奇怪,我用 org-roam-node-insert 时搜索结果不完整,不知道大家有没遇到过。等空了我贴下细节。

数据是从sqlite里来的,你可以尝试自己连接一下sqlite看看数据,具体代码在 org-roam/org-roam-node.el at 5c06471c3a11348342719fd9011486455adeb701 · org-roam/org-roam · GitHub 这个代码几乎是sql了,应该可以尝试直接用这个sql查询,看下是不是没入库。

1 个赞