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 · 8751 次点击
    这是一个创建于 2835 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对运算要求比较高的程序, 会有比较大的性能差别吗?
    第 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   ·   实用小工具   ·   2904 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:16 · PVG 11:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.