当前位置: 首页 > news >正文

Python numba jit加速计算

  • 安装
    pip install numba
  • 使用示例
    import timefrom numba import jit# 原始函数
    def python_sum(n):total = 0for i in range(n):total += ireturn total# Numba 加速版本
    @jit(nopython=True)
    def numba_sum(n):total = 0for i in range(n):total += ireturn total# 性能测试
    n = 50000000# 第一次运行(包含编译时间)
    start = time.time()
    result1 = numba_sum(n)
    end = time.time()
    print(f"Numba 首次运行: {end - start:.6f} 秒")# 第二次运行(使用编译后的版本)
    start = time.time()
    result2 = numba_sum(n)
    end = time.time()
    print(f"Numba 缓存机器码运行: {end - start:.6f} 秒")# Python 原生版本
    start = time.time()
    result3 = python_sum(n)
    end = time.time()
    print(f"Python 原生: {end - start:.6f} 秒")
  • 说明
    首次运行会编译函数代码成机器码,并将机器码缓存起来。
    后续运行可以直接用缓存的机器码计算。
    对于密集的数值计算,效果非常显著,甚至首次编译加计算的时间,也会比python原生计算快很多。
  • 注意事项
    1.jit nopython参数可以设置为False, 可以支持部分python对象操作,但是加速效果不好,不推荐使用。
    2.numba jit最佳使用范围:数值计算、numpy数组操作、循环密集计算、数学函数。
    3.不支持绝大部分第三方库调用、io操作、操作python复杂对象。

     

http://www.zskr.cn/news/7332.html

相关文章:

  • 01_网络分层模型
  • SaaS 是什么?一文带你看懂 SaaS 与传统软件的区别
  • 刀齿磨损智能检测APP
  • TJOI2007--线段
  • 充电桩测试:守护绿色出行的安全密码
  • 不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?
  • 安徽京准:NTP时间服务器助力网络数据安全稳定
  • 乐蜂直播购物商城小程序介绍
  • VIPSHOP 门店会员营销管家:助力实体商家数字化运营
  • ALINX 助力希腊 SpaceDot AcubeSAT 卫星任务,2026 将入太空
  • 负载均衡层详解part 4
  • Flash Attenion算法原理
  • 谷歌云平台(Google Cloud Platform, GCP)介绍(全球领先的云计算服务平台,为企业和开发者供应包括计算、存储、数据分析、人工智能、机器学习、网络和安全等在内的全面云服务)
  • 基于svCom制作windows服务(一)
  • 电流探头消磁失败的原因与解决策略
  • 在嵌入式 Linux 上使用容器 - 实践
  • hbase学习一
  • OI线下比赛注意事项
  • OpenBMB 发布无分词器 TTS VoxCPM;儿童口语硬件 Dex 融资 480 万美元:拍摄真实物体,对话学习外语丨日报
  • 重组蛋白表达避坑指南
  • 电商核心业务 - 指南
  • ai
  • 苏州才是最美的烟雨江南,苏州游玩必去的10大景点
  • linux增加网卡ip地址
  • Python 包与环境管理简史:从混乱到优雅
  • shell命令中循环执行操作的命令
  • 基于QEMU模拟器搭建Builtroot下的QT开发环境
  • 5个存款技巧,银行员工都在用,你知道几个?
  • windosw 配置arp绑定
  • SEERC 2022 题面简要翻译