写作绅士,读作丧尸 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作为主要语言呢
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
( `д´)就不能学学动画版的萌豚,多看看动画片
无标题 无名氏 2022-11-02(三)02:50:24 ID:ZUbouXw [举报] No.53142685 管理
np之类的大部分都做过底层优化的吧,机器学习更不用说了(`・ω・)毕竟对于非程序员来说python上手很快了,还记得以前上机器学习课几个老哥用cpp写课设最后没写完的故事
无标题 无名氏 2022-11-02(三)03:04:13 ID:ATluxlx [举报] No.53142725 管理
>>No.53142685
太真实了,可以建议用rust写( ゚∀。)
无标题 无名氏 2022-11-02(三)07:17:17 ID:g0Tk1Su [举报] No.53143263 管理
cpython,多少沾点c不是( ゚∀゚)
无标题 无名氏 2022-11-02(三)08:24:20 ID:6uI71Mh [举报] No.53143843 管理
真正高性能的部分指不定是拿c/c++写的,python就是个胶水( ゚∀。)
无标题 无名氏 2022-11-02(三)10:10:01 ID:iYSBHq4 [举报] No.53145607 管理
你可以理解为就是个编译器,最后都是cuda指令在跑
无标题 无名氏 2022-11-02(三)12:00:53 ID:9Aiobpp [举报] No.53148003 管理
很多py库都是c/c++封装,举个例子就是,如果pytorch/tf里没有你要用的算子,你得自己写从c++写起( ゚∀゚)
无标题 无名氏 2022-11-02(三)12:06:56 ID:c1VkhIS [举报] No.53148158 管理
因为你用的Python接口一般只是C++库的binding,真正的耗时计算都到了C++/CUDA里面了
无标题 无名氏 2022-11-02(三)12:09:47 ID:kr9GKwh [举报] No.53148214 管理
( ゚∀。)因为实际运行的部分不是用的py
无标题 无名氏 2022-11-02(三)12:11:43 ID:lhWNW1n [举报] No.53148260 管理
因为python这边做的都不是需要性能的部分,需要性能的部分都是库的内部调用高性能组件(c/cpp之类的高性能语言,以及调用cuda,simd之类)
无标题 无名氏 2022-11-03(四)11:25:48 ID:M7ZYaLm [举报] No.53172384 管理
你调用的包基本上都是用c实现的,python只是方便你用而已
无标题 无名氏 2022-11-09(三)11:20:33 ID:HsqPnDY [举报] No.53328099 管理
顺便问个问题,python编译后也是C在跑,为什么会说性能"差"
无标题 无名氏 2022-11-09(三)12:05:59 ID:iYSBHq4 [举报] No.53329362 管理
>>No.53328099
编译了,但没完全编译,python不跑起来可不知道你a+b操作里两边是个什么玩意
无标题 无名氏 2022-11-09(三)12:09:14 ID:W0QUzrw [举报] No.53329445 管理
方便使用,机器学习从头用c艹写代码,你毕业了模型还没跑呢(*´д`)
无标题 无名氏 2022-11-09(三)14:02:39 ID:HsqPnDY [举报] No.53331857 管理
>>No.53329362
编译出来执行文件那种,不是脚本跑。性能能差多少
无标题 无名氏 2022-11-11(五)09:54:20 ID:THqu6kc [举报] No.53375460 管理
>>No.53331857
Python 什么时候能编译成可执行文件了?
无标题 无名氏 2022-11-11(五)09:55:49 ID:THqu6kc [举报] No.53375492 管理
>>No.53331857
另外,编译之后因为不存在C,因为C最后也不是C在跑,而是x86或者arm或者riscv在跑
至于 PyPy 那个 JIT,它真的效率挺高的
无标题 无名氏 2022-11-11(五)11:35:47 ID:HsqPnDY [举报] No.53377868 管理
>>No.53375492
我对python的记忆出现了一些混乱。
那么python的执行是离不开解释器,不可以直接到操作系统的是吗
无标题 无名氏 2022-11-11(五)11:47:25 ID:bRRnPeX [举报] No.53378158 管理
>>No.53328099
Python本身有各种解释器实现,一般情况下(从 https://python.org/ 下载的)指的是官方的用C写的CPython,其他的实现就是前面有肥肥提过的PyPy以及.NET那边的IronPython等等。

一般说“PyPy更快”指的就是因为PyPy使用了JIT所以比CPython更快,不过PyPy的开发还得跟着CPython来所以会落后一两个大版本,以及pip上大多数带有二进制文件的包一般都是按照兼容CPython来编译的(whl文件名里会标上cp3*),但是兼容PyPy的就不一定有了(这种情况下文件名标的是pp3*),所以PyPy还是没办法完全取代CPython。

前几天出的Python 3.11说是进行了一些性能改进,当然这些改进也是在和CPython的旧版本对比下得出的。
无标题 无名氏 2022-11-11(五)11:53:36 ID:bRRnPeX [举报] No.53378277 管理
>>No.53375460
pyinstaller这种直接把Python环境和py文件扔一起的就不提了,cython和nuitka了解一下( ゚∀。)

原理都是尝试把Python代码变成C然后编译成Python的C扩展来调用,性能提升主要是在代码标注一些变量类型正好可以对应到C的类型。

UP主: