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发腾讯微博代码分享
Jan 10 Python
Python配置文件解析模块ConfigParser使用实例
Apr 13 Python
Python多层嵌套list的递归处理方法(推荐)
Jun 08 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
python批量替换页眉页脚实例代码
Jan 22 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
python字符串string的内置方法实例详解
May 14 Python
Python实现的读写json文件功能示例
Jun 05 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
python3让print输出不换行的方法
Aug 24 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
用PHP实现验证码功能
2006/10/09 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
Python之父谈Python的未来形式
2016/07/01 Python
python 二分查找和快速排序实例详解
2017/10/13 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
python通过zabbix api获取主机
2018/09/17 Python
python图像处理入门(一)
2019/04/04 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
2019/07/15 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
Python列表推导式实现代码实例
2020/09/09 Python
python Gabor滤波器讲解
2020/10/26 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
详解CSS3:overflow属性
2020/11/17 HTML / CSS
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
世界水日宣传活动总结
2015/02/09 职场文书
校车安全管理责任书
2015/05/11 职场文书
员工手册编写范本
2015/05/14 职场文书