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爬虫之抓取百度贴吧代码分享
Nov 06 Python
PyMongo安装使用笔记
Apr 27 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
详解python3中tkinter知识点
Jun 21 Python
python自动化生成IOS的图标
Nov 13 Python
django多对多表的创建,级联删除及手动创建第三张表
Jul 25 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 01 Python
Python 3.9的到来到底是意味着什么
Oct 14 Python
Python实现简单猜数字游戏
Feb 03 Python
如何获取numpy array前N个最大值
May 14 Python
pandas DataFrame.shift()函数的具体使用
May 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 运行效率总结(提示程序速度)
2009/11/26 PHP
php备份数据库类分享
2015/04/14 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
php数据访问之查询关键字
2016/05/09 PHP
PHP中的表达式简述
2016/05/29 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
PHP分享图片的生成方法
2018/04/25 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
老生常谈combobox和combotree模糊查询
2017/04/17 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
对vue.js中this.$emit的深入理解
2018/02/23 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
Python牛刀小试密码爆破
2011/02/03 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python3实现斐波那契数列(4种方法)
2019/07/15 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
python实现将列表中各个值快速赋值给多个变量
2020/04/02 Python
python模拟斗地主发牌
2020/04/22 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
CSS Grid布局教程之什么是网格布局
2014/12/30 HTML / CSS
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
计算机应用专业应届毕业生中文求职信范文
2013/11/29 职场文书
村委会主任先进事迹
2014/01/15 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫