我感觉make 的时候加一下 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"'
似乎有戏,我正在编译着, 暂时没有出现 Segmentation fault
make -j 12 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"'
抄自
EDIT:加完之后 确实编译成功了
EDIT: 这种方式编译完, 感觉没什么效果, 没见有什么明显的提升。
我感觉make 的时候加一下 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"'
似乎有戏,我正在编译着, 暂时没有出现 Segmentation fault
make -j 12 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"'
抄自
EDIT:加完之后 确实编译成功了
EDIT: 这种方式编译完, 感觉没什么效果, 没见有什么明显的提升。
直接改comp.el里面的comp-speed更方便,comp-speed = 2速度快,但是编译速度太慢了。
我当时下的是5f8b63082331de5573e0c401bf9a3a38394cbdf7。这是我当时在码云上从github拉的repo,我直接从这个repo clone到本地的:https://gitee.com/shihaoliu/emacs
谢谢啦, 我用这个commit, 还是得将comp-speed设置为0. 这样编译出来的emacs我使用之后觉得并没有太大的速度提升
我倒没注意这个。。你看看原来初始启动是不是也很慢?以及你是指哪个server?有的server可能一开始要加载很多东西
就是第一次启动emacs超级慢,原来2s,现在需要9s左右。不是指lsp server
我没遇到这个问题,我现在启动速度比原来还快,现在1s左右,你可以用benchmark-init
这个包看看哪些模块加载费时间。
(use-package benchmark-init
:ensure t
:config
;; To disable collection of benchmark data after init is done.
(add-hook 'after-init-hook 'benchmark-init/deactivate))
第一次用doom-emacs配置。第二次清空配置。启动都是9s多,很奇怪。 macOS Mojave 10.14,gcc 9.3 libgccjit, clang编译
真的有那么流畅么?我现在mac 上总会有些莫名其妙的输入卡顿之类的。。不知道有没有改善。启动速度上我到没啥。190个包我也能0.8~0.9s左右。
卡顿在启动后的前几秒很明显,但是用lsp company补全个人感觉比之前流畅
去掉了解释器直接编译成机器码了感觉就是带有runtime的语言干掉了runtime。mac上的emacs还是没啥卵用把。没从根本解决问题。。
今天看到 guix-devel 上面,也有人在折腾 gccemacs 了
https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00240.html
能不能分享一下 编译emacs的脚本?我只能用comp-speed为0进行编译,否则就会报错。你呢
我坐等 nix/guix 仓库更新就好了。
回帖的正是 gccemacs 作者本人,看来他对这事还是挺上心。好奇他难道是全网监测、每天上 google 搜谁遇到编译问题吗?感觉每个相关的帖子他都有留言。
是有可能的,毕竟现在google搜相关的内容也没太多条哎
有可能,或者他也是一个 guix 的使用者,可惜他不懂中文
可惜guix 下载包太慢了,国内mirror还没有建成,只能又回到 debian了
在编译gcc的时候遇到了如下的错误,不过一直没看见到有人遇到,或许是我个例?分享一下解决的方式。
环境: macOS Catalina 10.15.3
源码下载的是 gcc-9.3.0
报错如下:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/wait.h:110,
from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdlib.h:66,
from ../.././libdecnumber/decNumber.c:175:
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/resource.h: In function 'getiopolicy_np':
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/resource.h:443:34: error: expected declaration specifiers before '__OSX_AVAILABLE_STARTING'
443 | int getiopolicy_np(int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
| ^~~~~~~~~~~~~~~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/resource.h:449:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__OSX_AVAILABLE_STARTING'
449 | int setiopolicy_np(int, int, int) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_2_0);
| ^~~~~~~~~~~~~~~~~~~~~~~~
解决的方法是这篇博文中的,修改/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/Availability.h
文件,在300行左右的位置添加如下内容,
#ifndef __OSX_AVAILABLE_STARTING
#define __OSX_AVAILABLE_STARTING(_osx, _ios)
#define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep)
#define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg)
#endif
估计是OS X10.15的原因. 我们几个都是10.14的系统. emacs编译的部分通过了嘛