推荐学习书目
› 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
sadfQED2
V2EX  ›  Python

我突然产生了一个大胆的想法!

  •  
  •   sadfQED2 · Jan 8, 2020 via Android · 8526 views
    This topic created in 2495 days ago, the information mentioned may be changed or developed.

    目前大家都说 python 太慢,性能瓶颈。。。但是如果用 c 开发效率又太低。因此,我突然灵光一现,如果我改一下 gcc,把 python 代码直接编译成二进制文件,那特么不是无敌了?

    Supplement 1  ·  Jan 8, 2020
    哈哈,多谢大家打醒,我还是继续当我的咸鱼吧
    29 replies  •  2020-01-09 14:02:00 +08:00
    MLawliet
    MLawliet
    Jan 8, 2020 via Android❤️1
    1
    是呗,那你倒是改啊
    xpresslink
    xpresslink
    Jan 8, 2020❤️1
    2
    Cython 子解一下
    sadfQED2
    sadfQED2
    OP
    Jan 8, 2020 via Android
    3
    @xpresslink cython 也不能直接编译 python 代码呀
    xmge
    xmge
    Jan 8, 2020
    4
    经常遇到一些情况

    我有 xxx 想法?
    我做出 xx 了,大伙看一下。

    然后就有人评论:xxx 了解一下。

    哈哈,然后就发现,问题原来可以这样解决
    sadfQED2
    sadfQED2
    OP
    Jan 8, 2020 via Android
    5
    @MLawliet 🐶🐶如果划水时间再多一点,我就开干
    hronro
    hronro
    Jan 8, 2020 via iPhone❤️2
    6
    不如直接用 nim
    coderluan
    coderluan
    Jan 8, 2020
    7
    楼主认真的吗...... C 比 python 快,那是因为很多代码是手写的,你再改 gcc,python 代码也不能凭空多出这些手写的代码,还是得额外增加语法和代码,那就又是 Cython 了。
    sadfQED2
    sadfQED2
    OP
    Jan 8, 2020 via Android
    8
    @coderluan 但是能减少解释器的限制了呀
    imkuang
    imkuang
    Jan 8, 2020 via Android❤️1
    10
    并不是说编译成二进制就快了,还要看具体的实现原理,优化之类的
    xabc
    xabc
    Jan 8, 2020 via iPhone❤️1
    11
    可爱
    lynskylate
    lynskylate
    Jan 8, 2020
    12
    python 编译成二进制并不会更快,而且你说的也有了,nutika 了解下。
    还有使用 type hint 编译成 c 再编译成 python 库来加速的 mypyc。
    lavvrence
    lavvrence
    Jan 8, 2020
    13
    用 Go 不就行了。。。
    itfanr
    itfanr
    Jan 8, 2020
    14
    Cython 了解一下
    kwanzaa
    kwanzaa
    Jan 8, 2020
    15
    不试试 Golang 吗?
    Juszoe
    Juszoe
    Jan 8, 2020
    16
    不是有 pyc 字节码吗,已经可以了
    Mutoo
    Mutoo
    Jan 8, 2020
    17
    很多情况下,你写的项目根本不需要 C 的效率。
    pcmid
    pcmid
    Jan 8, 2020 via Android
    18
    llpython (逃
    fuxiuyin
    fuxiuyin
    Jan 8, 2020
    19
    Python 很大一部分性能消耗在 “寻址”,C++ 里面写 object.function(xxx) 可以直接编译为过程调用,Python 里面不能,最大的区别在于 C++ 在编译的时候明确的知道 object 是啥也就知道了 object.function 在哪,Python 不能,Python 运行的时候得去 object 的名字表里面找 function,整个寻找过程是字符串搜索。同样的,对象的属性等等也是,基本上只有局部变量和全局变量是在编译成字节码的时候可以确定位置的。
    aloxaf
    aloxaf
    Jan 8, 2020
    20
    Cython 了解一下, nuitka 了解一下
    直接编译成二进制速度确实会有提升, 然而也就百分之几吧.

    Python 太过动态, 主要的消耗都在各种类型检查和转换上面, 这些即使你编译到二进制也是省略不掉的.
    当然你可以进行类型标注, 辅助编译器进行优化, 然而这样你就重新发明了 Cython...
    luoleng
    luoleng
    Jan 8, 2020❤️2
    21
    关于你这个大胆的想法,我有个不成熟的建议……
    encro
    encro
    Jan 8, 2020❤️1
    22
    所以 PHP,JS,Python 都在加类型,方便编译器优化。
    love
    love
    Jan 8, 2020 via Android
    23
    @encro 这些个类型和编译器优化毫无关系
    exploreXin
    exploreXin
    Jan 8, 2020
    24
    这个还不够大胆,更大胆的方法是把芯片植入人脑,以后写代码动手和编译这些都可以省略掉了,谁还二进制啊,直接现成的 “真-人工神经深度学习编程”,这才有前途,如果这都能实现,还可以更大胆一点,利用哆啦 A 梦的任意门,穿越到 3 亿年以后,把那时的高科技编程技术偷回来,实现 “真-全自动编程” , 以后编码设计什么的可以不用人工付出什么实际的代价,编码全靠意淫,那才叫无敌。
    sadfQED2
    sadfQED2
    OP
    Jan 8, 2020 via Android
    25
    @exploreXin 如果我都能穿越到 3 亿年后了,我还优化个鬼的编码呀,我肯定是去偷长生不老💊加漂亮小姐姐啊
    bigNewsMaker
    bigNewsMaker
    Jan 8, 2020 via iPhone
    26
    @sadfQED2 给爷整笑了
    2kCS5c0b0ITXE5k2
    2kCS5c0b0ITXE5k2
    Jan 8, 2020
    27
    你能做到 年薪过百万不过分吧
    wangyzj
    wangyzj
    Jan 8, 2020
    28
    Cython 子解一下
    izchker
    izchker
    Jan 9, 2020
    29
    @emeab 大胆一点,月薪百万都不过分 //滑稽
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   735 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    ♥ Do have faith in what you're doing.