python@jit
安装numba
pip install llvmlite
数据量大的计算使用jit才能发挥作用,简单的计算反而会慢。
计算一个数据集求和来看一下执行时间的比较:
import time
def foo(x,y):tt = time.time()s = 0for i in range(x,y):s += iprint('Time used: {} sec'.format(time.time()-tt))return s
print(foo(1,10**8))
执行结果:
Time used: 4.852999925613403 sec
4999999950000000
加入jit后的时间:
from numba import jit
import time
@jit
def foo(x,y):tt = time.time()s = 0for i in range(x,y):s += iprint('Time used: {} sec'.format(time.time()-tt))return s
print(foo(1,10**8))
执行结果:
Time used: 0.07800030708312988 sec
4999999950000000
执行效率提升的很明显,现在把数据集变小10*6
执行结果:
Time used: 0.04900002479553223 sec
499999500000
执行结果:
Time used: 0.07699990272521973 sec
499999500000
可以看到数据集表小后nojit的代码相应时间明显变小,jit代码响应时间变动不大,而且相应时间已经没有优势。在使用@jit优化代码前,要考虑计算的数据量是否达到缩短计算时间的目的,(从下面图可看到在某一点nojit效率要好于jit)
Python和Java一样是基于虚拟机的语言,并不是像C/C++那样将程序代码编译成机器语言再运行,而是解释一行执行一行,速度比较慢。使用Numba库的JIT技术编译以后,可以明显提高程序的运行速度。
python@jit相关推荐
- Python全家福,这些库你认识哪些?
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...
- 为什么有如此多的python版本
Python是出类拔萃的 然而,这是一句非常模棱两可的话.这里的"Python"到底指的是什么? 是Python的抽象接口吗?是Python的通用实现CPython吗(不要把CPy ...
- 为什么会有这么多python?其实python并不是编程语言!
Python是出类拔萃的 然而,这是一句非常模棱两可的话.这里的"Python"到底指的是什么? 是Python的抽象接口吗?是Python的通用实现CPython吗(不要把CPy ...
- [转载] python常用库
参考链接: Python–新一代语言 转载至:https://www.cnblogs.com/jiangchunsheng/p/9275881.html 今天我将介绍20个属于我常用工具的Python ...
- Python资源大全 屌炸Python库
交互式解析器 交互式 Python 解析器. IPython – 功能丰富的工具,非常有效的使用交互式 Python. bpython– 界面丰富的 Python 解析器. ptpython – 高级 ...
- Python 资源库大全
Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 vinta 发起和维护.内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文 ...
- awesome python 中文版 相见恨晚!(pythonNB的第三方资源库)
Awesome Python中文版来啦! 原文链接:Python 资源大全 内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文本处理.自然语言处理.机器学习.日志 ...
- python常用代码大全-Python常用库大全,看看有没有你需要的
环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...
- python常用代码大全-Python常用库大全及简要说明
环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 v ...
最新文章
- 算法面试经常需要你手写的三个排序算法(Python语言)
- csgo怎么通过人机验证_让你的MacBook Pro完美运行CSGO!(图解版)
- OpenGL toon shading卡通着色的实例
- pytorch教程龙曲良01-05
- php点击按钮显示隐藏代码,jQuery中点击按钮实现显示与隐藏的方法
- 零窗口探测怎么抓包_Linux服务器下的HTTP抓包分析
- php ucword,ThinkPHP3.1.2整合UCenter详解(二)
- Python之网络编程(socket基础)
- 中文 哈工大_第六届中文语法错误诊断大赛,哈工大讯飞联合实验室再获多项冠军...
- Windows中绕过更新直接关机
- windows mysql 5.5 升级_windows环境mysql5.0晋级mysql5.5
- 操作系统实验报告-多线程编程解决进程间同步和互斥问题
- java中如何查看代码运行时间?
- SketchUp Pro 2019下载|SketchUp Pro 2019(草图大师)免安装绿色精简版下载
- r9270公版bios_换个BIOS再来一次
- c语言课程设计酒店管理系统实验报告 免费下载,C语言酒店管理系统设计
- 读书笔记:《遇见未知的自己》
- The server encountered an unexpected condition that prevented it from fulfilling the request
- 创造一颗属于你的星球
- 哔哩哔哩(B 站)刚刚崩了
热门文章
- 如何实现 Excel 多人共享与协作
- DD镜像和E01镜像的主要区别
- Unix V6 环境搭建:Simh 安装 Unix V6、Unix V6 基本使用以及源代码获取
- 切分数据集(train_test_split),思路分享及手打代码和介绍sklearn中train_test_split,适合小白入门
- C++条件编译 | 条件编译
- 给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能
- 破茧成蝶2:和产品经理一起做需求分析
- 代理服务器连接失败 电脑不能上网
- vba模拟鼠标点击_鼠标键盘模拟大师下载_鼠标键盘模拟大师免费版官方下载6.2...
- 新版仿网易云音乐的YY音乐微信小程序源码