一行代码让python的运行速度提高100倍,你信吗?

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

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

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

最原始的代码:

import time
def foo(x,y):
        tt = time.time()
        s = 0
        for i in range(x,y):
                s += i
        print('Time used: {} sec'.format(time.time()-tt))
        return s

print(foo(1,100000000))

结果:

Time used: 6.779874801635742 sec
4999999950000000

我们来加一行代码,再看看结果:

from numba import jit
import time
@jit
def foo(x,y):
        tt = time.time()
        s = 0
        for i in range(x,y):
                s += i
        print('Time used: {} sec'.format(time.time()-tt))
        return s
print(foo(1,100000000))

结果:

Time used: 0.04680037498474121 sec
4999999950000000

是不是快了100多倍呢?
就因为使用了 numba库的jit模块。

那么问题来了:
1、你知道 numba 吗?为啥numba库的jit模块那么牛掰?

2、Python你可能不了解,其它语言有类似功能的库或者组件吗?

3、它们提高性能的原理是什么?你还知道哪些提高性能的方法?

参与话题,有机会获得以下奖品:

你可能感兴趣的:(Python)