我用两台机器,一台 5600X 一台 7950X 。 5600X 那台装的是 Ubuntu 24.04 ,7950X 那台装的是 Windows 10 。 两个系统都已经更新到最新补丁,已经尽可能清空后台程序,且内存存储非常富裕。
对公司项目使用命令行工具构建出 release 版本的 APK 并且计时。 结果测速发现 7950X 构建花了 7 分 8 秒,5600X 花了 5 分 12 秒。是的你没看错,测了三次都差不多这结果。 更离谱的是 5600X 我甚至还把项目文件放在机械硬盘上的,没想到还是被碾压了。
公司项目也没啥特别的:AGP 8.9 代码规模也就 6w 行左右 过八成 java+不足两成 kotlin ,没有 native 代码,就这个样子。 构建任务:构建一个大的 app 模块的 3 个 variant (全 java )和两个小的 app 模块(全 kotlin ),总共 5 个 APK 文件。这三个模块除了共享了定义数据协议结构的库以外基本独立。测试之前已经预先构建过,用于把依赖下载完整,所以不存在网络波动导致的时间差异。
原本以为 7950X 的构建速度上理应碾压 5600X 的,就算系统不同,也不应该有这么大的差距。 实在想不出为什么会有这样的结果。 在 Windows 上我还特意用了Microsoft Build of OpenJDK 21的。
![]() |
1
heiher 13 小时 18 分钟前
Windows 试试关闭任何杀毒或防护监控软件。
|
![]() |
2
tool2dx 13 小时 18 分钟前
把步骤用时都打印出来啊,我这里 debug 版本都差不多。
release 的话,很多 CPU 时间都花在了 assets 压缩上面,也许你的 5600X 对压缩算法有特别优化。 |
![]() |
3
codehz 12 小时 55 分钟前 via Android ![]() windows 启动进程速度天然会慢很多,安卓构建需要开一堆进程,这一点就会消耗大量时间了
|
![]() |
4
liyafe1997 12 小时 54 分钟前 ![]() 盲猜文件系统系统,盲猜是由于安全软件(特别是 Windows Defender )引起的
|
5
YsHaNg 12 小时 33 分钟前 via iPhone
Windows 开 dev drive 扔进去再试
|
![]() |
6
HojiOShi OP @heiher @liyafe1997 用 Defender Control 关了 WD 之后,7950X 的时间缩短到了 5 分 51 秒,效果显著但和 5600X 仍有差距。
|
![]() |
7
smartruid 12 小时 12 分钟前 via iPhone
你在 windows 上用 wsl 也会更快
|
![]() |
8
HojiOShi OP |
9
mayli 6 小时 23 分钟前
盲猜是杀毒软件,windows 11 还专门为这个做了个 dev drive, 相当于默认整盘白名单,可以用那个试下。如果还有差距,那就是系统优化方向差异了,linux 大部分优化是注重吞吐量,牺牲延迟,windows 相反,所以有些重量级场景,比如编译大项目,就会慢。
|
10
mayli 6 小时 15 分钟前
还有个可能的是处理器问题,5600 的话是单 ccx, l3 的命中率可能会比多 ccx 的高,假如 java 编译比较吃这个,那就有可能 7950x 会慢。
|
![]() |
11
flynaj 5 小时 49 分钟前 via Android
不用怀疑,NTFS 的性能确实不如 ext4 ,但是影响整体编译速度差距也只是在 20%,过高按照这个设置一下, https://stackoverflow.com/questions/6916011/how-do-i-get-windows-to-go-as-fast-as-linux-for-compiling-c
|
![]() |
12
debuggeeker 3 小时 14 分钟前
之前电脑安装黑苹果,同样的配置,黑苹果打包同一个项目速度是 win10 快很多,没测试过 Ubuntu
|
![]() |
13
xdeng 3 小时 10 分钟前
傻 x Defender
|
![]() |
14
ByePrd 2 小时 31 分钟前
MS: ./gradlew.bat build --scan
|
16
gaifanking 1 小时 23 分钟前
遇到过,同一台电脑上 wsl 编译比 win11 快。同样百思不得其姐
|