Emacs在windows上使用native compilation
2022-04-17 • 预计阅读时间 1 分钟
2022-04-17 • 预计阅读时间 1 分钟
Emacs前些天发布了28.1的版本.算是 Native compilation
的第一个正式版本.由于通过 libnjit
通过 gcc
来编译 lisp
来达到提升性能的目的.
在windows下面也可以使用这个特性,相对之前的启动时间提升还是很明显的.但是环境要做一些准备工作.这里不讨论直接在 msys2
里面直接通过gcc编译的方式.
提前安装好 scoop
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex
之后启用 versions
,并安装 gcc-msys
. 这里不能使用默认的那个gcc缺少了很多开发相关的依赖.此外还需要安装 gow
来增加一些linux下的小软件.编译的时候用得到.
scoop bucket add versions
scoop install gcc-msys gow
下载emacs-28后,然后下载Package: mingw-w64-x86_64-luajit - MSYS2 Packages.获取 mingw-w64-x86_64-luajit-2.1.0_beta3-2-any.pkg.tar.zst
并解压将其中的 libgccjit-0.dll
放到 emacs/bin
中即可.
如果没有使用包管理工具的话,需要手动编译下可以使用如下的命令.
(native-compile-async "~/.emacs.d/lib" 'recursively)