如何加速Python程序-Python教程

资源魔 24 0
此次就说一种简略的形式来减速python较量争论速率的办法,就是应用numba库来进行,numba库能够应用JIT技巧即时编译,达到高功能,另外也能够应用cuda GPU的较量争论才能来减速,对python来讲是一个提速十分好的对象库,应用简略,然而装置略微复杂一些。

装置实现numba就能够应用了。(保举学习:Python视频教程)

上面写一个小案例来看一下减速后的顺序以及减速前的顺序的区分,借用官网上最经典的例子:

#!/usr/bin/env python
# coding=utf-8
from numba import jit
from numpy import arange
import time

@jit
def sum2d(arr):
    M, N = arr.shape
    result = 0.0
    for i in range(M):
        for j in range(N):
            result += arr[i,j]
    return result

a = arange(9).reshape(3,3)
start_time = time.time()
for i in range(10000000):
    sum2d(a)
end_time = time.time()
print (end_time - start_time)

这里应用numpy天生三行三列的矩阵,[[0,1,2],[3,4,5],[6,7,8]]而后做二维累加较量争论,值显然应该是36,这里做了10000000次这样的较量争论,应用@jit注解能够间接的应用numba jit技巧及时编译,从而进步速率,终极运转工夫约莫是3.86s,假如去掉注解的话那末运转工夫约莫是25.45s从这里能够看进去约莫有6.6倍的功能晋升,以是应用numba减速python顺序的确是不便简略

更多Python相干技巧文章,请拜访Python教程栏目进行学习!

以上就是若何减速Python顺序的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题

抱歉,评论功能暂时关闭!