鱼C论坛

 找回密码
 立即注册
查看: 33179|回复: 2365

[技术交流] 加一行代码让python的运行速度提高100倍

  [复制链接]
最佳答案
65 
发表于 2017-7-11 17:48:09 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 jerryxjr1220 于 2017-7-12 12:47 编辑

python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差。

“一行代码让python的运行速度提高100倍”这绝不是哗众取宠的论调。

我们来看一下这个最简单的例子,从1一直累加到1亿。

最原始的代码:
  1. import time
  2. def foo(x,y):
  3.         tt = time.time()
  4.         s = 0
  5.         for i in range(x,y):
  6.                 s += i
  7.         print('Time used: {} sec'.format(time.time()-tt))
  8.         return s

  9. print(foo(1,100000000))
复制代码


结果:
Time used: 6.779874801635742 sec
4999999950000000

我们来加一行代码,再看看结果:
游客,如果您要查看本帖隐藏内容请回复


结果:
Time used: 0.04680037498474121 sec
4999999950000000

是不是快了100多倍呢?

@SixPy @冬雪雪冬 @~风介~ @小甲鱼

感谢@小甲鱼 设精!

游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 11荣誉 +34 鱼币 +38 贡献 +11 收起 理由
学学看看 + 1 + 1 鱼C有你更精彩^_^
幻世伽蓝 + 3
kykio + 5 + 5 + 3
hehex + 2 + 2 感谢楼主无私奉献!
流月飞星 + 5 + 5 + 3
飞向布拉格 + 3
Ruide + 2 + 2 + 1 Numba !!
鬼人 + 5 + 5 + 3 感谢楼主无私奉献!
新手·ing + 5 + 5
小甲鱼 + 6 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

最佳答案
65 
 楼主| 发表于 2017-7-11 17:50:54 | 显示全部楼层
有了这个神器以后,是不是以前“欧拉计划”中许多暴力解法算不出的问题都能算出来了呢?
最佳答案
1 
发表于 2017-7-11 18:10:50 | 显示全部楼层
看看
最佳答案
54 
发表于 2017-7-11 18:43:31 | 显示全部楼层
看起来很厉害的样子~
最佳答案
0 
发表于 2017-7-11 18:55:57 | 显示全部楼层
看看
最佳答案
0 
发表于 2017-7-11 19:37:25 | 显示全部楼层
xx
最佳答案
0 
发表于 2017-7-11 19:37:33 | 显示全部楼层
好像好棒棒啊
最佳答案
0 
发表于 2017-7-11 19:48:44 From FishC Mobile | 显示全部楼层
看看
最佳答案
0 
发表于 2017-7-11 20:03:20 | 显示全部楼层
试试看到底如何
最佳答案
2 
发表于 2017-7-11 20:37:58 | 显示全部楼层
学习学习楼主的方法。
最佳答案
233 
发表于 2017-7-11 20:41:11 | 显示全部楼层
这样就挺快的了
  1. import numpy as np
  2. def f():return np.sum(np.arange(1,10**8,dtype=np.int64))
复制代码
最佳答案
903 
发表于 2017-7-11 21:02:58 | 显示全部楼层
如何安装numba?
我用pip安装报错。
最佳答案
0 
发表于 2017-7-11 21:19:44 From FishC Mobile | 显示全部楼层
ggggggggg
最佳答案
903 
发表于 2017-7-11 21:22:02 | 显示全部楼层
我在Anaconda下,用conda install numba安装成功了。但运算上述的例子结果不正确。
  1. Time used: 0.060042619705200195 sec
  2. 887459712
复制代码
最佳答案
16 
发表于 2017-7-11 22:18:49 | 显示全部楼层
最佳答案
65 
 楼主| 发表于 2017-7-11 22:31:03 | 显示全部楼层
冬雪雪冬 发表于 2017-7-11 21:22
我在Anaconda下,用conda install numba安装成功了。但运算上述的例子结果不正确。

我运算的是对的啊,jit只是重新编译了python的代码,但并不会改变你原有的函数,所以对结果是没有影响的。
最佳答案
0 
发表于 2017-7-11 22:34:39 | 显示全部楼层
???、看看 学习一下
最佳答案
227 
发表于 2017-7-11 23:46:02 | 显示全部楼层
赞同,必须设精!
最佳答案
0 
发表于 2017-7-12 08:29:21 | 显示全部楼层
最佳答案
58 
发表于 2017-7-12 09:11:11 | 显示全部楼层
看起来很厉害的样子~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐上一条 /1 下一条

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号

GMT+8, 2018-8-18 11:01

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表