numba jit加速python程序
2024-10-20 15:59:54
numba
numba加速循环、numpy的一些运算,大概是将python和numpy的一些代码转化为机器代码,速度飞快!
加速耗时很长的循环时:
from numba import jit
# 在函数前加
@jit(nopython=True)
def func():
...
但是条件比较苛刻,比如函数内不能对全局变量进行修改,不能有未明确类型的list和dict(否则需要固定类型,在初始化的时候用 typed.List.empty_list(types.float64)
这种)
举个例子:
@jit(nopython=True)
def func(arr, times):
# 这里 arr 和 times 可以是numpy数组。函数内不能对外部的变量进行修改
for i in range(character_num):
s = 0
for j in range(character_num):
s += arr[i][j]
for j in range(character_num):
if arr[i][j] != 0:
arr[i][j] = arr[i][j] / s
arr[i][j] = lmbda * arr[i][j] + (1 - lmbda) * times[j]
return arr
若要对list, dict等类型进行操作,使用类似于typed.List.empty_list(types.float64)
的操作来初始化
文档可见https://numba.readthedocs.io/en/stable/index.html
最新文章
- 【摘】linux中fstab解说
- 高性能javascript学习笔记系列(3) -DOM编程
- [Python] Interpreter setting in Pycharm
- [转]Android中内存占用的含义:(VSS,PSS,RSS,USS)
- 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
- 十个最好的Java性能故障排除工具
- BZOJ 2253: [2010 Beijing wc]纸箱堆叠
- PAT (Advanced Level) 1099. Build A Binary Search Tree (30)
- Maximum Depth of Binary Tree leetcode
- Spring MVC的handlermapping之RequestMappingHandlerMapping初始化
- Beta阶段敏捷冲刺报告-DAY3
- 全参考视频质量评价方法(PSNR,SSIM)以及与MOS转换模型
- ubuntu 打开eclipse出现A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be ... 解决方法(转载)
- vux的x-input的源码分析
- 【设计模式】—— 解释器模式Interpret
- JXOI2017颜色 解题报告
- ngx_lua_API 指令详解(二)ngx.re.match/find/gmatch/sub/gsub指令集合
- 洛谷:P1087 FBI树 P1030 求先序排列 P1305 新二叉树
- Linux网络知识
- jsp tag 直接文件实现
热门文章
- Jetpack Compose学习(9)——Compose中的列表控件(LazyRow和LazyColumn)
- HttpClient 在vivo内销浏览器的高并发实践优化
- 关于stm32f10xRB系列的PB5和PB12外设冲突问题
- 【manim】含有add_updater更新函数become的物体移动方法
- 【java】学习路径42-六种字符流使用实例
- Maven中使用ssm框架出现:org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常
- 至少要几个砝码,可以称出 1g ~ 40g 重量
- 01_Linux基础-部署-VMware-Xshell-Xftp-内核-安迪比尔定理
- Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }
- LFS(Linux From Scratch)构建过程全记录(三):下载所需的软件包