|  |      1Yanlongli      50 天前 这个不绝对,有些编程语言的编译器针对 linux 系统有优化 | 
|      2xgdgsc      50 天前 via Android java 编译是吃 io 还是 cpu ,node 会不会差别比较大 | 
|      3aloxaf      50 天前 主要是那种喜欢创建一堆进程的构建工具跑起来差别比较大吧 | 
|      4ca2oh4      50 天前 maven 用什么 wsl | 
|      5SonicKang      50 天前 mac mini 主要是 io 太有优势了 | 
|  |      6xtreme1      50 天前 win 主要是 ntfs 处理大量小文件比较慢, java 顶多就几百几千个 .class 其实还好 | 
|  |      7murmur      50 天前 5800H 的性能不占优吧,7840 这个级别就好多了 | 
|  |      8minami      50 天前 他们说的编译速度差距基本是 C/C++那种编译。不过也挺扯淡的,因为影响的变量也太多了。我反正 mac 上装了 linux 容器,用 gcc 编译,实测速度也就那样 | 
|      9misaka9527 OP @xtreme1 我还试过 Windows 自带的 dev drive , 用 ReFs 来存储源代码和相关库,微软自己说用于编译挺牛的,实际使用起来,效果也不明显   | 
|  |      10interim      50 天前 maven 指定下构建线程数看看,默认是单线程跑的,两者 IO 差距不大的话不会有大差异的。 | 
|      11misaka9527 OP @minami 主要我研究相关问题时,搜到的都是说 Windows 的文件系统比 linux 慢,我就换成 linux 试了下,没想到没啥提升,用 Windows 的 ReFs 试了下,效果也不明显,难不成这方面没啥瓶颈,可能最主要还是看 CPU 的频率吧   | 
|      12misaka9527 OP @interim maven 已经设置了 -T 1C 多线程了,  但是指定线程是多模块构建用的,我是单模块编译,javac 本身好像是单线程编译的 | 
|  |      13rb6221      50 天前 说明你的项目编译速度已经快拉满了,再提升只能靠硬件了。 mac 不就是换了个硬件么?不要看都是 16G 就觉得内存一样,其实 mac 的内存和 win 的内存还真有区别的。 | 
|  |      14minami      50 天前 @misaka9527 #11 ntfs 性能没有问题,msvc 编译甚至比 mingw 还快,当然有些菜鸡都不知道 msvc 怎么开多线程编译,那就没办法了。一般 windows 上编译卡住都是杀毒把磁盘卡住了,完全是误会 | 
|      15BenjaminSu      50 天前 via Android 有没有一种可能? WSL 的行为,不被防火墙检查,所以比较快? | 
|  |      16Geon97      50 天前 主要是 io 的问题吧 | 
|  |      17yolee599      50 天前 via Android 因为 wsl 里面的 linux 无论用什么文件系统,最终落盘的时候都会转成 ntfs (假设你用的是这个)保存到磁盘,这一道转换都要浪费不少性能。你试试把磁盘直通 linux 看看 | 
|      18misaka9527 OP | 
|  |      19Ipsum      50 天前 via Android 试试用 wsl 在 ntfs 上编译 openwrt ,会慢到你怀疑人生。 | 
|  |      20yolee599      50 天前 via Android @misaka9527 #18 编译出来的文件也要保存啊,最终可能就是你在 Windows 资源管理器里的 .vmdk 之类的文件,你也可以把编译输出文件夹挂载到 tmpfs ,把它放内存里 | 
|  |      21mmdsun      49 天前 不可能吧,我 WSL 2 要比 windows 上编译快好多  Java 也快很多。 你是不是 linux 用 /mnt 访问的 windows 磁盘?要 WSL 2 快,全套要在 WSL 2 ,而且不能用 WSLCONFIG 限制 内存 CPU 什么的。 |