有没有人日常使用portable dumper?能不能分享一下配置?

portable dumper确实比普通的快不少,但是用起来有一些问题:

  1. 不少数据格式不能dump,比如widow configuration。不能dump的部分就要和其他配置区别。
  2. 加载一堆包dump出来有各种问题,不知道怎么搞

有没有大佬已经把portable dumper整合进日常使用了?能不能分享一下?感谢。

还不知道 dumper 是什么意思?普通用户需要了解吗?

我用的是spacemacs,dumper功能已经属于日常使用。你说的问题在spacemacs里面有成熟的方案了,去翻翻它的配置借鉴一下吧。总的原则是只dump对加载时间有重大影响的包,比如org mode,helm等。哪些包能dump,哪些不能在spacemacs里面已经处理好了,你看看就知道。

1 个赞

我曾经在windows上用了半年,为此还请求emax 作者帮忙打包了emax的27dumper版,并且为spacemacs写了辅助dump的函数现在已经合并。但是我在linux下没找到用dumper的迫切需要,也许等27发布了再试试。

1 个赞

明白了,谢谢

因为很多emaxs核心功能都是在elisp里,加载只能通过启动后加载.el文件,这样一来就很慢。*nix系统上又没有lisp系dump/load image的功能。为了启动速度,有人就给emacs加了类似的功能:加载一些核心elisp库以后写出整个内存到可执行文件里。下次启动就不用一个个加载那些.el文件,速度快很多。

emacs编译的时候先会编译没有elisp库的emacs,叫temacs,然后在bootstrap阶段dump完全版emacs出来。

portable dumper不再把image和可执行文件放在一起(因为具体操作每个操作系统不一样),而是拿出来放到单独文件里。因此全系统通用。函数是dump-emacs-portable。

之前其实就有用户用dump-emacs加快启动速度。只不过portable dumper出来以后所有人都知道了有这么个功能。

话说portable dumper的代码改改是不是就能save/load lisp object?

1 个赞

这个portable dump要怎么使用呢,能给个示例吗?是不是需要emacs27.

要是启动速度足够快,就不用考虑pdumper了吧。如果启动有问题的话,多一个需要debug的地方。doom-emacs没用pdumper。

直接装个spacemacs试试吧,看下文档就知道了。需要Emacs 27。

不一样的,不靠dump的启动快是要延迟加载的。 dump之后起来所有的插件都是就绪状态。 有没装插件的那种清爽的感觉。

新手,不知我这样用对不对,win系统

  1. 更新emacs到27以上,Spacemacs开发分支最新
  2. 启动并等待加载结束
  3. 运行 M-x spacemacs/dump-emacs,并等待 %appdata%\.emacs.d\.cache\dumps\spacemacs-27.1.pdmp 文件大小不再增长
  4. 编辑emacs启动的快捷方式,加上 --dump-file="%AppData%\.emacs.d\.cache\dumps\spacemacs-27.1.pdmp"

一开始我以为Spacemacs会自动加载这个文件,所以没加这个参数,结果一直没变化。。。 我很疑惑,如果一定要加这个参数的话 dotspacemacs-enable-emacs-pdumper t 这个选项是做什么的呢。。一开始我为作用就是是否加载dump文件,看来好像不是。。

3 个赞