写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.53142620 - 无标题 - 技术宅


回应模式
No.53142620
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

无标题 无名氏 2022-11-02(三)02:34:44 ID:zKpCYFg [举报] [订阅] [只看PO] No.53142620 [回应] 管理
python的性能那么"差"
为何那么多数学库视觉库深度学习库要用python作为主要语言呢
无标题 无名氏 2022-11-11(五)11:54:00 ID:bRRnPeX [举报] No.53378284 管理
>>No.53375460
pyinstaller这种直接把Python环境和py文件扔一起的就不提了,cython和nuitka了解一下( ゚∀。)

原理都是尝试把Python代码变成C然后编译成Python的二进制扩展来调用,性能提升主要是在代码标注一些变量类型正好可以对应到C的类型。
无标题 无名氏 2022-11-11(五)12:13:51 ID:bRRnPeX [举报] No.53378759 管理
>>No.53328099
据我所知对编程语言来说按照性能高低排序的话大概是这几类:

C/Rust这种可以直接编译到二进制的
Go这种可以编译到二进制,但是也会带上语言本身的运行时的
Java/C#这种可以静态编译到中间代码然后由解释器(JVM/.NET Core)执行的
JS/PHP/Python之类的脚本语言,直接让解释器解释执行

其实就是抽象程度越高写起来越简单但是解释器/运行时需要帮你做的事情就越多( ゚∀。)比如前面的肥肥提过的a+b,在C里面得写清楚是两个int编译出来就直接是x86的add了,在C#里不一定是int了但是也能在编译的时候对应到那些数据类型相加的代码,但是脚本语言一般都是弱类型,只有运行起来才知道类型是什么,于是每次都要判断一遍类型然后找一遍相加代码,这个效率嘛...
无标题 无名氏 2022-11-11(五)14:05:23 ID:HsqPnDY [举报] No.53381273 管理
>>No.53378284
所以确实是有py->c->编译的搞法是吗( ゚∀。)
上午短暂的搜索让我感受到了信息污染的严重

No.53378759
这方面大概也是清楚地,基本上是越“高级”就越慢
无标题 无名氏 2022-11-12(六)21:33:06 ID:c1VkhIS [举报] No.53416363 管理
>>No.53328099
就算做jit(比如numba),多数Python代码因为Python本身的灵活性导致优化工作能做的事情不多

(反过来看看C++的编译器会抓住你的潜在UB进行优化)

UP主: