Windows Java / Python 性能确实拉跨

2022-04-17 18:55:03 +08:00
 seaswalker

之前还发过一贴,吐槽即使 5700G 也干不过 m1 ,编译。

今天又试了下,即便在 WSL2 Ubuntu 上,同样的项目编译也能和 m1 持平(比 Windows 快 35%),Python3 跑同样的代码(算法,100%吃满 CPU benchmark)比 Windows 物理机快 30%左右。

2413 次点击
所在节点    程序员
6 条回复
seaswalker
2022-04-17 18:57:25 +08:00
Python3 算法,WSL2 速度几乎是 m1 的两倍
mmdsun
2022-04-17 20:14:19 +08:00
我用 visual studio 编译 pyhton3 和.net core 项目, 和同等配置的 linux 机器持平。

可以试着做一下优化,杀毒软件和文件系统上。
禁用 windows defender 或者添加排除
禁用 NTFS Change Journal
前往 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem 配置值来禁用很多不需要的功能比如 NtfsDisableLastAccessUpdate
JacHammer
2022-04-17 20:26:27 +08:00
"""
Apparently Geekbench devs have no idea on the cost of creating threads in Windows (which involves IPC), so if you run benchmark under WSL2 you will get a free 10-15% score improvement
"""

https://twitter.com/imbushuo/status/1401880816783818752
LeeReamond
2022-04-18 09:27:14 +08:00
并不很理解,同样的代码生成的字节码几乎一样,而字节码解释为机器码又几乎一样,一样在 cpu 上跑为啥会慢。。。WSL2 不比原生慢就不错了,还能快 30%我觉得可能是你测试有问题,毕竟听起来你测的是纯计算而不是 IO ,涉及到系统内核 IO 的话倒是由于系统实现不同确实有很大区别。
seaswalker
2022-04-18 10:07:36 +08:00
@mmdsun #2 Windows defender 已经排除,但貌似没有效果,我再试试注册表
seaswalker
2022-04-18 10:13:43 +08:00
@LeeReamond #4 一些系统调用实现 /效率可能并不相同,我的测试一样的代码,一样的 jdk 版本,一样的 maven 命令,重复跑多次,都是一样,wsl 更快,甚至比 m1 更快点,也能 Google 到别人也吐槽过这种问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/847511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX