我估计以后有编译排除机制,这个文件编译一点意义都没有
好的。那直接编译的话,comp-speed默认是0?
默认是 2 吧, lisp/emacs-lisp/comp.el
里定的
好的。谢谢。
我用O3编译时出错 Symbol’s value as variable is void: ediff-ignore-case
, 你没有碰到吗
应该没有 zsbd
好吧, 现在有包了就不自己编译了. 看见 zsbd 还以为是缺了啥库, 愣了一下才反应过来
make -j2 NATIVE_FAST_BOOT=1
可以加快编译速度,make时只编译大概10几个elisp文件为eln文件,其他的都编译成elc。然后在需要的时候 (setq comp-deferred-compilation t)
会进行编译用到的elisp文件。
eln文件和emacs代码对应,新的代码commit后,可能修改了native-comp相关的代码,就需要重新编译所有的eln。
前两天看你的博客尝试在windows上编译一下时, 看到了这两个选项. 确实很实用, 就是编译jit还是失败了.
唉,比较懒,没及时更新blog。
-
native-comp分支上最新的代码make时,在调用emacs编译eln时,启动emacs会报错。不知道为什么要去找
emacs_dir
环境变量。export后就ok了。 -
src/comp.c 已经不需要修改fixnum相关代码,Andrea Corallo老兄已经改了代码了。他真是勤快啊。
我编译jit时总是找不到 gmp 和 mpfr 库怎么回事,手动指定 LDFLAGS
还是找不到
好像找到原因了,在msys2和Cygwin中, gcc -lgmp foo.c
是找不到gmp的,必须放后边 gcc foo.c -lgmp
gccemacs 未来真有很大的可能合并到 master , 因为 emacs 当前维护者对这个方案好像不反对
今天有更新了。 Update 8
Following that I received an outstanding from report from Kévin Le Gouguec on memory consumption and compile time analyzing the compilation process.
As follow-up on that now
leim/
sub-folder is by default not compiled. Being these files data and not code it should not affect performance.The total compile time is then reduced respect to the original one by a factor two. I can now build on my compile-box a full Emacs at speed 2 in ~45min, this to be compared with the ~100min on the same machine for the branch at the state of Update 7.
更新:
我刚才在笔记本(Archlinux)上编译了一下, comp-speed=2
,make -j4
大概一个小时编译完的,12G 内存占用一半左右(我还开着浏览器)。
是不是还不支持 dumping ,启动的时候 报错,但是生成pdump 文件的时候,没报错
gccemacs --dump-file $HOME/.emacs.d/cache/dump/emacs.pdump
emacs: Trying to load incoherent dumped .eln
试了下 make -j8 NATIVE_FAST_BOOT=1
花了15分钟,可以接受,不过代价是后面的包是async compile
对对对,我也试过,报错
同 arch, 试了一下 comp-speed=3
编译出错,=2
编译很快
另外用 native 编译的 emacs 写 tex 文件时 C-c C-c
编译一直要弹出个 shell 来,很烦人。请问你也是吗?
似乎是 auctex
cdlatex
一系列包都有点问题
抱歉,我没用 comp-speed=3
编译。
写 Tex 的话,我一会试一下。
看作者的talk说compsoeed=3属于黑魔法。最好还是用2。