numba提升python运行速度的实例方法


Posted in Python onJanuary 25, 2021

大家都知道Python运行速度很慢,但是轮子多,因此用户十分广泛,在各种领域上都能用到Python,但是最头疼的还是,解决运行速度问题,因此这里给大家介绍的是numba,是基本是等于再造语言。但是支持的numpy函数并不多。要让能jit的函数多起来才行。下面就详细介绍使用numba提升python运行速度方法。

numba简介:

能够实现将python函数编译为机器代码,提高运行速度。

工作作用:

给python换一种编译器

使用numba:

1、导入numba及其编译器

import numpy as np
import numba 
from numba import jit

2、传入numba装饰器jit,编写函数

@jit(nopython=True) 
def go_fast(a): 
  trace = 0
   for i in range(a.shape[0]): 
    trace += np.tanh(a[i, i]) 
return a + trace

3、函数传入实参

x = np.arange(100).reshape(10, 10) 
go_fast(x)

4、加速的函数执行时间

% timeit go_fast(x)

知识点扩展:

numba适合科学计算

numpy是为面向numpy数组的计算任务而设计的。

在面向数组的计算任务中,数据并行性对于像GPU这样的加速器是很自然的。Numba了解NumPy数组类型,并使用它们生成高效的编译代码,用于在GPU或多核CPU上执行。特殊装饰器还可以创建函数,像numpy函数那样在numpy数组上广播。

什么情况下使用numba呢?

  • 使用numpy数组做大量科学计算时
  • 使用for循环时

到此这篇关于numba提升python运行速度的实例方法的文章就介绍到这了,更多相关如何使用numba提升python运行速度内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python复制文件代码实现
Dec 23 Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
实例分析python3实现并发访问水平切分表
Sep 29 Python
10分钟用python搭建一个超好用的CMDB系统
Jul 17 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
python中K-means算法基础知识点
Jan 25 #Python
python中HTMLParser模块知识点总结
Jan 25 #Python
pycharm配置QtDesigner的超详细方法
Jan 25 #Python
Python扫描端口的实现
Jan 25 #Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
Jan 25 #Python
Python实现京东抢秒杀功能
Jan 25 #Python
Python Process创建进程的2种方法详解
Jan 25 #Python
You might like
PHPShop存在多个安全漏洞
2006/10/09 PHP
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
php简单获取目录列表的方法
2015/03/24 PHP
Zend Framework框架之Zend_Mail实现发送Email邮件验证功能及解决标题乱码的方法
2016/03/21 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
javascript的内存管理详解
2013/08/07 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
jQuery实现简单的图片查看器
2020/09/11 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
JS实现放大镜效果
2020/09/21 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
使用Python编写vim插件的简单示例
2015/04/17 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
Python hmac模块使用实例解析
2019/12/24 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
2021/01/08 Python
黄金酒广告词
2014/03/21 职场文书
村委会贫困证明范本
2014/09/17 职场文书
教师节标语大全
2014/10/07 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
农业项目合作意向书
2015/05/08 职场文书
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python
MySQL 语句执行顺序举例解析
2022/06/05 MySQL