安装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相关推荐

  1. Python全家福,这些库你认识哪些?

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  2. 为什么有如此多的python版本

    Python是出类拔萃的 然而,这是一句非常模棱两可的话.这里的"Python"到底指的是什么? 是Python的抽象接口吗?是Python的通用实现CPython吗(不要把CPy ...

  3. 为什么会有这么多python?其实python并不是编程语言!

    Python是出类拔萃的 然而,这是一句非常模棱两可的话.这里的"Python"到底指的是什么? 是Python的抽象接口吗?是Python的通用实现CPython吗(不要把CPy ...

  4. [转载] python常用库

    参考链接: Python–新一代语言 转载至:https://www.cnblogs.com/jiangchunsheng/p/9275881.html 今天我将介绍20个属于我常用工具的Python ...

  5. Python资源大全 屌炸Python库

    交互式解析器 交互式 Python 解析器. IPython – 功能丰富的工具,非常有效的使用交互式 Python. bpython– 界面丰富的 Python 解析器. ptpython – 高级 ...

  6. Python 资源库大全

    Awesome Python ,这又是一个 Awesome XXX 系列的资源整理,由 vinta 发起和维护.内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文 ...

  7. awesome python 中文版 相见恨晚!(pythonNB的第三方资源库)

    Awesome Python中文版来啦! 原文链接:Python 资源大全 内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文本处理.自然语言处理.机器学习.日志 ...

  8. python常用代码大全-Python常用库大全,看看有没有你需要的

    环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex – 可以在虚拟环境中执行命令. v ...

  9. python常用代码大全-Python常用库大全及简要说明

    环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 v ...

最新文章

  1. 算法面试经常需要你手写的三个排序算法(Python语言)
  2. csgo怎么通过人机验证_让你的MacBook Pro完美运行CSGO!(图解版)
  3. OpenGL toon shading卡通着色的实例
  4. pytorch教程龙曲良01-05
  5. php点击按钮显示隐藏代码,jQuery中点击按钮实现显示与隐藏的方法
  6. 零窗口探测怎么抓包_Linux服务器下的HTTP抓包分析
  7. php ucword,ThinkPHP3.1.2整合UCenter详解(二)
  8. Python之网络编程(socket基础)
  9. 中文 哈工大_第六届中文语法错误诊断大赛,哈工大讯飞联合实验室再获多项冠军...
  10. Windows中绕过更新直接关机
  11. windows mysql 5.5 升级_windows环境mysql5.0晋级mysql5.5
  12. 操作系统实验报告-多线程编程解决进程间同步和互斥问题
  13. java中如何查看代码运行时间?
  14. SketchUp Pro 2019下载|SketchUp Pro 2019(草图大师)免安装绿色精简版下载
  15. r9270公版bios_换个BIOS再来一次
  16. c语言课程设计酒店管理系统实验报告 免费下载,C语言酒店管理系统设计
  17. 读书笔记:《遇见未知的自己》
  18. The server encountered an unexpected condition that prevented it from fulfilling the request
  19. 创造一颗属于你的星球
  20. 哔哩哔哩(B 站)刚刚崩了

热门文章

  1. 如何实现 Excel 多人共享与协作
  2. DD镜像和E01镜像的主要区别
  3. Unix V6 环境搭建:Simh 安装 Unix V6、Unix V6 基本使用以及源代码获取
  4. 切分数据集(train_test_split),思路分享及手打代码和介绍sklearn中train_test_split,适合小白入门
  5. C++条件编译 | 条件编译
  6. 给Win10重新装上“磁盘碎片整理”组件,修复精简系统压缩卷功能
  7. 破茧成蝶2:和产品经理一起做需求分析
  8. 代理服务器连接失败 电脑不能上网
  9. vba模拟鼠标点击_鼠标键盘模拟大师下载_鼠标键盘模拟大师免费版官方下载6.2...
  10. 新版仿网易云音乐的YY音乐微信小程序源码