有人比较过同样的 Python 程序,在 Mac 上和 Linux 下的性能差别吗? 稳定性? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
4ever911
V2EX    Python

有人比较过同样的 Python 程序,在 Mac 上和 Linux 下的性能差别吗? 稳定性?

  •  
  •   4ever911 2017-02-18 09:26:52 +08:00 9173 次点击
    这是一个创建于 3166 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对运算要求比较高的程序, 会有比较大的性能差别吗?
    第 1 条附言    2017-02-18 10:27:58 +08:00
    同样硬件配置环境下, 相同 CPU / MEMORY / HARD DISK

    同样硬件配置环境下, 相同 CPU / MEMORY / HARD DISK

    同样硬件配置环境下, 相同 CPU / MEMORY / HARD DISK
    第 2 条附言    2017-02-18 10:58:11 +08:00
    只是单纯比较相同程序代码的性能, 不谈如何用 C 或者其他的方法改进提高性能。

    只是单纯比较相同程序代码的性能, 不谈如何用 C 或者其他的方法改进提高性能。

    只是单纯比较相同程序代码的性能, 不谈如何用 C 或者其他的方法改进提高性能。
    38 条回复    2017-02-20 13:00:01 +08:00
    herozem
        1
    herozem  
       2017-02-18 09:30:37 +08:00 via iPad
    应该都不会特别快。。
    sylecn
        2
    sylecn  
       2017-02-18 09:31:06 +08:00 via Android
    对运算要求比较高的程序,不要用 Python 来写。除非主要是用 Python 的各种 C 模块。

    Mac OS 和 Linux 没有比较过,不发表意见。
    mko0okmko0
        3
    mko0okmko0  
       2017-02-18 09:44:33 +08:00
    不用 C 模块来比,一样慢哈哈哈哈哈哈哈
    差不了多少,求安慰的话,win 的更慢,有安慰吗?
    (含泪带笑
    lll9p
        4
    lll9p  
       2017-02-18 09:46:35 +08:00
    写过一些,,速度上一般是 linux>win>Mac
    XiaoFaye
        5
    XiaoFaye  
       2017-02-18 09:47:08 +08:00
    注重运算还是 C 吧。
    phrack
        6
    phrack  
       2017-02-18 10:13:36 +08:00 via Android
    运算比较高的就得用 numpy 之类的,速度不差,挺稳定的。
    Jackeriss
        7
    Jackeriss  
       2017-02-18 10:23:20 +08:00
    难道跟硬件没关系吗?
    BoBoy
        8
    BoBoy  
       2017-02-18 10:25:28 +08:00 via iPhone
    @lll9p 你确定? windows 什么时候这么牛了
    lll9p
        9
    lll9p  
       2017-02-18 10:40:19 +08:00
    @BoBoy 我的代码比出来的啊,,一开始我也吃惊。。
    rashawn
        10
    rashawn  
       2017-02-18 10:40:56 +08:00 via iPhone
    c 或者 go
    loading
        11
    loading  
       2017-02-18 10:59:39 +08:00
    什么时候 pythoner 这样了?性能敏感了?

    一起来 go go go 。
    popbones
        12
    popbones  
       2017-02-18 11:05:32 +08:00
    你是说再考虑应该在生产环境用 Linux 还是 Mac ?
    4ever911
        13
    4ever911  
    OP
       2017-02-18 12:59:11 +08:00
    @popbones 对~
    gimp
        14
    gimp  
       2017-02-18 13:11:21 +08:00
    @4ever911 为什么会考虑用 Mac 作为服务器呢
    CRVV
        15
    CRVV  
       2017-02-18 13:22:10 +08:00
    这个问题问得毫无意义,因为

    如果你想,就可以写一段代码使之在 Linux 上快,也可以写一段代码使之在 Darwin 上快,也可以写一段代码使之在 Windows 上快
    而且和操作系统的版本也有关系

    真需要作这种决定,就用真实的条件做性能测试
    4ever911
        16
    4ever911  
    OP
       2017-02-18 14:22:15 +08:00
    @CRVV 嗯,我就是不想再花时间去在同一台机器上花时间去测试性能问题,所以问问看是不是有朋友之前做过类似的测试。 只要差别不大,比如 20%以内,也无所谓。
    heissuperhan
        17
    heissuperhan  
       2017-02-18 15:02:06 +08:00 via iPhone
    @loading 王垠说 go 是垃圾
    loading
        18
    loading  
       2017-02-18 15:53:19 +08:00 via Android
    @heissuperhan 王垠是谁?


    垠,读 yin2 。对,我刚查的如何读,我打拼音的。
    iamfredng
        19
    iamfredng  
       2017-02-18 16:21:41 +08:00   1
    其实就是 linux 和 unix 的性能对比,可以负责的告诉你, linux 下 py3 比 unix 的 py3 快那么一点。不到 10%
    iamfredng
        20
    iamfredng  
       2017-02-18 16:22:46 +08:00
    PS :只要你不涉及 UI 部分
    kenkao
        21
    kenkao  
       2017-02-18 16:28:10 +08:00
    觉得既然用 python 了还是别纠结性能了。。
    如果实在对性能有要求,可以考虑用 go
    ribenren
        22
    ribenren  
       2017-02-18 16:41:19 +08:00 via iPhone
    @herozem 小朋友
    ji4ozhu
        23
    ji4ozhu  
       2017-02-18 17:39:10 +08:00
    没差~
    tt0411
        24
    tt0411  
       2017-02-18 19:09:39 +08:00
    python 优势不不在于性能啊 * 3
    amd00
        25
    amd00  
       2017-02-18 23:21:06 +08:00 via iPad
    生产环境为何考虑 Mac 呢,难道拿本机做服务器?
    sylecn
        26
    sylecn  
       2017-02-18 23:44:12 +08:00 via Android   1
    我是今天才知道 Mac 有机架式服务器的。有和我一样的吗?
    danielmiao
        27
    danielmiao  
       2017-02-18 23:52:35 +08:00
    @sylecn apple 不出服务器,但是他有服务器版本的操作系统
    neoblackcap
        28
    neoblackcap  
       2017-02-19 02:07:44 +08:00
    @danielmiao 除了搭建 iOS 的 CI 服务器,没看出有什么非用不可,而且我是很怀疑在机房托管垃圾桶的成本会不会太高了
    iNohn
        29
    iNohn  
       2017-02-19 08:53:15 +08:00 via iPhone
    Mac 跑 Python 速度渣爆了,我试过在 Mac 和装在 Windows 中的 Linux 虚拟机同时跑单线程 jieba 分词操作, Mac 的速度还不如 Linux 的一半。顺便说一下, Mac 是 2.6GHz , Linux 那边是 4.0GHz 。
    julyclyde
        30
    julyclyde  
       2017-02-19 10:43:05 +08:00
    什么叫你说的那种稳定性?
    danielmiao
        31
    danielmiao  
       2017-02-19 11:15:45 +08:00   1
    @neoblackcap 为啥不能在 dell 的机架服务器上装 mac 的服务器操作系统,具体没有用过不清楚,只是有不表示一定要用,据说 apple 自己的所有服务都用的自己的操作系统。
    neoblackcap
        32
    neoblackcap  
       2017-02-19 14:36:44 +08:00   1
    @danielmiao EULA 规定了 Server 版也只能安装在苹果电脑上,而且众所周知,苹果使用大量的 AWS 跟 Azure 服务,在现代操作系统没有一个高效的 IO multiplxer 或者异步 IO 的话,都是垃圾。 Tornado 那边的文档都写了,不要将运行在 OS X 上面的 Tornado 实例用于生产, kqueue 在 OS X 上面是残废的。
    josephshen
        33
    josephshen  
       2017-02-19 17:16:42 +08:00 via iPhone
    @4ever911 这里小白太多。 Linux 下一般能快 5%。如果使用了一些第三方的包,而这些包里有 c 的模块,一般情况下 Linux 下更快一些,而且内存占用也少。总体看 Windows 下面内存占用量更高,速度也慢一些。主要原因应该还是开发者使用 Linux 的更多些。
    danielmiao
        34
    danielmiao  
       2017-02-19 18:09:04 +08:00
    @neoblackcap 已查证,你说的基本是对的
    pangliang
        35
    pangliang  
       2017-02-19 21:43:39 +08:00 via iPhone
    cpu 密集型,看 CPU ,编译器优化,跟操作系统关系不大。网络型,看事件模型,也就是 epoll 和 kqueue 。
    zonghua
        36
    zonghua  
       2017-02-20 00:45:15 +08:00 via iPhone
    比一下 PowerPC 上的 Python ?
    pyufftj
        37
    pyufftj  
       2017-02-20 09:17:17 +08:00   1
    @loading 垠神都不知道,一个装逼能装到你心服口服的人。 yinwang.org
    loading
        38
    loading  
       2017-02-20 13:00:01 +08:00 via Android
    @pyufftj 其实我是知道的,只是我根本不鸟这些撕逼,自己看好就行。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1243 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 17:37 PVG 01:37 LAX 10:37 JFK 13:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86