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 获得13位unix时间戳的方法
Oct 20 Python
Python排序搜索基本算法之插入排序实例分析
Dec 11 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
详解python配置虚拟环境
Apr 08 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
Django自定义用户表+自定义admin后台中的字段实例
Nov 18 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
python实现五子棋程序
Apr 24 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
在Python中如何使用yield
Jun 07 Python
yolov5返回坐标的方法实例
Mar 17 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利用cookies实现购物车的方法
2014/12/10 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
jquery tab标签页的制作
2010/05/10 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
xml转json的js代码
2012/08/28 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
基于javascript的拖拽类封装详解
2019/04/19 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
python实现哈希表
2014/02/07 Python
python操作sqlite的CRUD实例分析
2015/05/08 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
2014年中班元旦活动方案
2014/02/14 职场文书
槐乡的孩子教学反思
2014/04/27 职场文书
活动宣传策划方案
2014/05/23 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
2014小学教师个人工作总结
2014/11/10 职场文书
vue使用watch监听属性变化
2022/04/30 Vue.js
js判断两个数组相等的5种方法
2022/05/06 Javascript