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网络编程学习笔记(六):Web客户端访问
Jun 09 Python
Python THREADING模块中的JOIN()方法深入理解
Feb 18 Python
Python中使用pprint函数进行格式化输出的教程
Apr 07 Python
Python函数式编程指南(二):从函数开始
Jun 24 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python画图高斯分布的示例
Jul 10 Python
python使用正则来处理各种匹配问题
Dec 22 Python
利用python实现逐步回归
Feb 24 Python
解决python对齐错误的方法
Jul 16 Python
15个Pythonic的代码示例(值得收藏)
Oct 29 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 Python
LeetCode189轮转数组python示例
Aug 05 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中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
浅析php工厂模式
2014/11/25 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP HTTP 认证实例详解
2016/11/03 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
js常用代码段整理
2011/11/30 Javascript
JS跨域总结
2012/08/30 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
python中list列表的高级函数
2016/05/17 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Python 类的继承实例详解
2017/03/25 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
如何在发生故障的节点上重新安装 SQL Server
2013/03/14 面试题
remote接口和home接口主要作用
2013/05/15 面试题
高中毕业生自我鉴定范文
2013/09/26 职场文书
三好学生自我鉴定
2013/12/17 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
2014植树节活动总结
2014/03/11 职场文书
法制教育观后感
2015/06/17 职场文书
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL