V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seaswalker
V2EX  ›  程序员

Windows Java / Python 性能确实拉跨

  •  
  •   seaswalker ·
    seaswalker · 114 天前 · 1829 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    6 条回复    2022-04-18 10:13:43 +08:00
    seaswalker
        1
    seaswalker  
    OP
       114 天前
    Python3 算法,WSL2 速度几乎是 m1 的两倍
    mmdsun
        2
    mmdsun  
       114 天前   ❤️ 1
    我用 visual studio 编译 pyhton3 和.net core 项目, 和同等配置的 linux 机器持平。

    可以试着做一下优化,杀毒软件和文件系统上。
    禁用 windows defender 或者添加排除
    禁用 NTFS Change Journal
    前往 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem 配置值来禁用很多不需要的功能比如 NtfsDisableLastAccessUpdate
    JacHammer
        3
    JacHammer  
       114 天前   ❤️ 1
    """
    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
        4
    LeeReamond  
       113 天前
    并不很理解,同样的代码生成的字节码几乎一样,而字节码解释为机器码又几乎一样,一样在 cpu 上跑为啥会慢。。。WSL2 不比原生慢就不错了,还能快 30%我觉得可能是你测试有问题,毕竟听起来你测的是纯计算而不是 IO ,涉及到系统内核 IO 的话倒是由于系统实现不同确实有很大区别。
    seaswalker
        5
    seaswalker  
    OP
       113 天前
    @mmdsun #2 Windows defender 已经排除,但貌似没有效果,我再试试注册表
    seaswalker
        6
    seaswalker  
    OP
       113 天前
    @LeeReamond #4 一些系统调用实现 /效率可能并不相同,我的测试一样的代码,一样的 jdk 版本,一样的 maven 命令,重复跑多次,都是一样,wsl 更快,甚至比 m1 更快点,也能 Google 到别人也吐槽过这种问题
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3215 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:05 · PVG 09:05 · LAX 18:05 · JFK 21:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.