如何加速Python程序


本文摘自php中文网,作者(*-*)浩,侵删。

这次就说一种简单的方式来加速python计算速度的方法,就是使用numba库来进行,numba库可以使用JIT技术即时编译,达到高性能,另外也可以使用cuda GPU的计算能力来加速,对python来说是一个提速非常好的工具库,使用简单,但是安装稍微复杂一些。

安装完成numba就可以使用了。(推荐学习:Python视频教程)

下面写一个小案例来看一下加速后的程序和加速前的程序的区别,借用官网上最经典的例子:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

#!/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如何配置清华镜像源

Python中怎么实现星星排列

关于Python中引入导入与自定义模块以及外部文件的实例分享

Python怎么导入wmi

Python中defaultdict与lambda表达式用法

Python面向对象中高级-异常处理

unity3d能用Python写吗

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...