基于Numba提高python运行效率过程解析

 更新时间:2020年03月02日 12:25:08   作者:pfeiliu  
这篇文章主要介绍了基于Numba提高python运行效率过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Numba是Python的即时编译器,在使用NumPy数组和函数以及循环的代码上效果最佳。使用Numba的最常见方法是通过其装饰器集合,这些装饰器可应用于您的函数以指示Numba对其进行编译。调用Numba装饰函数时,它会被“即时”编译为机器代码以执行,并且您的全部或部分代码随后可以本机机器速度运行!

安装numba(我在这里加了--default-timeout=10000,防止安装时出现timeout的错误)

pip --default-timeout=10000 install -U numba
from numba import jit
import time
def add(x):
  he=0
  for i in range(x):
    he+=i
  return he
start=time.time()
res=add(100000000)
print(res)
end=time.time()
print(end-start)
耗时5s
4999999950000000
5.707650184631348

使用Numba的JIT装饰器@jit,以尝试加快某些功能的运行速度

from numba import jit
import time
@jit
def add(x):
  he=0
  for i in range(x):
    he+=i
  return he
start=time.time()
res=add(100000000)
print(res)
end=time.time()
print(end-start)
耗时0.14s,快了近40倍
4999999950000000
0.14488554000854492

看吧,快了40倍!

numba仅对numpy,for和while循环有效!

参考numba官网:http://numba.pydata.org/numba-doc/latest/developer/inlining.html#example-using-numba-jit

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python创建字典(dict)的几种方法小结(含代码示例)

    python创建字典(dict)的几种方法小结(含代码示例)

    字典(Dictionary)是Python中一种非常灵活的数据结构,用于存储键值对(key-value pairs),在Python中创建字典有多种方法,每种方法都有其特定的使用场景和优势,本文将详细介绍Python中创建字典的几种常见方法,需要的朋友可以参考下
    2024-09-09
  • Python字符串的常见操作实例小结

    Python字符串的常见操作实例小结

    这篇文章主要介绍了Python字符串的常见操作,结合实例形式总结分析了Python字符串的查询、转换、分割、计算等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • python 特殊词汇过滤功能的实现

    python 特殊词汇过滤功能的实现

    这篇文章主要介绍了python 特殊词汇过滤功能的实现,这就利用了python其中一个功能强大之处可以方便集成很多的非标准库,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • python学习教程之使用py2exe打包

    python学习教程之使用py2exe打包

    py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,下面这篇文章主要给大家介绍了关于python学习教程之使用py2exe打包的相关资料,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-09-09
  • Python requests用法和django后台处理详解

    Python requests用法和django后台处理详解

    这篇文章主要给大家介绍了关于Python中requests用法和django后台处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • python 用下标截取字符串的实例

    python 用下标截取字符串的实例

    今天小编就为大家分享一篇python 用下标截取字符串的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python基于tkinter制作下班倒计时工具

    python基于tkinter制作下班倒计时工具

    这篇文章主要介绍了python基于tkinter制作倒计时工具的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • pytorch多GPU并行运算的实现

    pytorch多GPU并行运算的实现

    这篇文章主要介绍了pytorch多GPU并行运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • 在Python中字典根据多项规则排序的方法

    在Python中字典根据多项规则排序的方法

    今天小编就为大家分享一篇在Python中字典根据多项规则排序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 深度学习详解之初试机器学习

    深度学习详解之初试机器学习

    机器学习可应用在各个方面,本篇将在系统性进入机器学习方向前,初步认识机器学习,利用线性回归预测波士顿房价,让我们一起来看看吧
    2021-04-04

最新评论