21 条回复  ·  2377 次点击
interim 小成 2025-9-11 15:52:38
maven 指定下构建线程数看看,默认是单线程跑的,两者 IO 差距不大的话不会有大差异的。
misaka9527 楼主 初学 2025-9-11 15:56:13
@minami 主要我研究相关问题时,搜到的都是说 Windows 的文件系统比 linux 慢,我就换成 linux 试了下,没想到没啥提升,用 Windows 的 ReFs 试了下,效果也不明显,难不成这方面没啥瓶颈,可能最主要还是看 CPU 的频率吧 https://i.imgur.com/NIvxivj.png
misaka9527 楼主 初学 2025-9-11 15:58:04
@interim maven 已经设置了 -T 1C 多线程了, 但是指定线程是多模块构建用的,我是单模块编译,javac 本身好像是单线程编译的
janus77 小成 2025-9-11 15:58:24
说明你的项目编译速度已经快拉满了,再提升只能靠硬件了。 mac 不就是换了个硬件么?不要看都是 16G 就觉得内存一样,其实 mac 的内存和 win 的内存还真有区别的。
minami 初学 2025-9-11 16:00:51
@misaka9527 #11 ntfs 性能没有问题,msvc 编译甚至比 mingw 还快,当然有些菜鸡都不知道 msvc 怎么开多线程编译,那就没办法了。一般 windows 上编译卡住都是杀毒把磁盘卡住了,完全是误会
BenjaminSu 初学 2025-9-11 16:07:58
有没有一种可能? WSL 的行为,不被防火墙检查,所以比较快?
Geon97 小成 2025-9-11 16:14:05
主要是 io 的问题吧
yolee599 初学 2025-9-11 16:16:58
因为 wsl 里面的 linux 无论用什么文件系统,最终落盘的时候都会转成 ntfs (假设你用的是这个)保存到磁盘,这一道转换都要浪费不少性能。你试试把磁盘直通 linux 看看
misaka9527 楼主 初学 2025-9-11 16:34:34
@BenjaminSu 防火墙都关了的 @yolee599 我看相关文档,说两边系统是隔离的,只要不通过 /mnt 的方式来跨系统访问,应该不会进行转换吧,所以我测试也是将项目放到 wsl 里了
Ipsum 初学 2025-9-11 16:37:52
试试用 wsl 在 ntfs 上编译 openwrt ,会慢到你怀疑人生。
返回顶部