4.6 KiB
4.6 KiB
nuitka 1.2.1 的性能测试
大家好! 这里是shenjack! 这篇文章就是 B站 专栏的原文!
综述
环境
-
硬件
- CPU:
AMD R5 5600X
- 内存:
64G DDR4 3200 (32×2)
- CPU:
-
软件
gcc 12.2.0
clang 14.0.6
nuitka v1.2.1
Python 3.8.10
- DR commit
e6a2b7b36cc98e508efbc61c4646181f5817fc7c
编译选项
- 核心编译选项
-
环境
--standalone
- 将环境一并打包进完成的文件夹中
-
--standalone Enable standalone mode for output. This allows you to transfer the created binary to other machines without it using an existing Python installation. This also means it will become big. It implies these option: "-- follow-imports" and "--python-flag=no_site". Defaults to off.```
-
编译器
-
--clang
- 强制使用
clang
编译器 -
--clang Enforce the use of clang. On Windows this requires a working Visual Studio version to piggy back on. Defaults to off.```
- 强制使用
-
--mingw64
(常量)- 强制使用
mingw64
编译器 -
--mingw64 Enforce the use of MinGW64 on Windows. Defaults to off.```
- 强制使用
-
--jobs=24
(常量)- 最多同时运行的 C 编译器
(clang|mingw64)
数量 -
-j N, --jobs=N Specify the allowed number of parallel C compiler jobs. Defaults to the system CPU count.```
- 最多同时运行的 C 编译器
-
--lto=
yes|no|auto(None)
- 是否启用 链接
-
--lto=choice Use link time optimizations (MSVC, gcc, clang). Allowed values are "yes", "no", and "auto" (when it's known to work). Defaults to "auto".```
-
--disable-ccache
- 不使用
ccache
或者clcache
的缓存 -
--disable-ccache Do not attempt to use ccache (gcc, clang, etc.) or clcache (MSVC, clangcl).```
- 不使用
-
-
结论综述
有 ccache
的情况下 clang
的性能略微落后于 mingw64
TODO
原始数据
因为视频使用CPU编码,所以很多数据没法看到,这里使用的是后面再次测试/微信群内存档的数据
视频应该会再次测试,数据可能不同,请谅解(obs更新完没注意编码啊啊啊啊)
编译器 | 有ccache | 无ccache | ||
---|---|---|---|---|
编译器 | lto=no | lto=yes | lto=no | lto=yes |
clang | 50s | 86s | 83s | 67s |
gcc | 59s | 641s | 227s | 630s |
-
clang
-
mingw64