请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么python这么慢。。。什么鬼。。。。

https://img1.sycdn.imooc.com/szimg//59be68700001560013660768.jpg

109s是什么鬼。。。。。我要吐槽。。。。。我觉得应该是我机器的原因吧,毕竟i5 2.0ghz,4g内存很垃圾了。。。一定不是python的问题。。。

正在回答 回答被采纳积分+3

2回答

liuyubobobo 2017-09-18 01:00:56

哈哈。Python就是这么慢哦

我个人不是特别建议使用Python语言进行算法的底层实现尤其涉及到性能测试。因为使用Python对于性能测试而言实现方式对性能的影响很大。只是简单的将C风格的代码转换成Python通常是不够的。要顾及Pythonic风格的写法。比如你可以尝试一下使用sum函数应该会快不少。

当然如果只是基于对逻辑的理解是没有问题的。

当也可以尝试使用pypy或者CPython对Python进行加速

1 回复 有任何疑惑可以回复我~
提问者 asdhjhg 2017-09-18 09:49:16

老师 我改了一下,发现然并卵啊。。。。pypy好像是自带JIT的会快很多?

https://img1.sycdn.imooc.com/szimg//59bf25ff0001155007080550.jpg

0 回复 有任何疑惑可以回复我~
  • 原来只有10%的优化,可以再试一下reduce。但不管怎样,python本身性能就是慢,是永远胜python不可能达到C++的性能。更重要的是,python这类语言,很多时候实现的方式对性能的影响很大。所以我个人不是很建议使用Python或者脚本语言做算法底层实现。如果一定用python且对性能很介意,可以尝试使用pypy或者CPython对Python进行加速。如果只是理解算法逻辑为目的,可以不管python的性能问题,也是能达到学习算法的目的的。:)
    回复 有任何疑惑可以回复我~ 2017-09-18 10:02:11
  • 提问者 asdhjhg 回复 liuyubobobo #2
    好吧,那就C和python搭配着学学,主要我对C其实并不拿手,我都是在youtube上跟老印学的C(希望没有被带偏。。。哈哈。。
    python倒是熟悉,会拿python写爬虫,做做web。用python做做kaggle之类的
    回复 有任何疑惑可以回复我~ 2017-09-18 10:58:00
  • liuyubobobo 回复 提问者 asdhjhg #3
    用python学算法是没有问题的。只要知道这个性能问题就好:)
    回复 有任何疑惑可以回复我~ 2017-09-18 11:03:53
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信