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

最新文章

  1. 【摘】linux中fstab解说
  2. 高性能javascript学习笔记系列(3) -DOM编程
  3. [Python] Interpreter setting in Pycharm
  4. [转]Android中内存占用的含义:(VSS,PSS,RSS,USS)
  5. 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
  6. 十个最好的Java性能故障排除工具
  7. BZOJ 2253: [2010 Beijing wc]纸箱堆叠
  8. PAT (Advanced Level) 1099. Build A Binary Search Tree (30)
  9. Maximum Depth of Binary Tree leetcode
  10. Spring MVC的handlermapping之RequestMappingHandlerMapping初始化
  11. Beta阶段敏捷冲刺报告-DAY3
  12. 全参考视频质量评价方法(PSNR,SSIM)以及与MOS转换模型
  13. ubuntu 打开eclipse出现A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be ... 解决方法(转载)
  14. vux的x-input的源码分析
  15. 【设计模式】—— 解释器模式Interpret
  16. JXOI2017颜色 解题报告
  17. ngx_lua_API 指令详解(二)ngx.re.match/find/gmatch/sub/gsub指令集合
  18. 洛谷:P1087 FBI树 P1030 求先序排列 P1305 新二叉树
  19. Linux网络知识
  20. jsp tag 直接文件实现

热门文章

  1. Jetpack Compose学习(9)——Compose中的列表控件(LazyRow和LazyColumn)
  2. HttpClient 在vivo内销浏览器的高并发实践优化
  3. 关于stm32f10xRB系列的PB5和PB12外设冲突问题
  4. 【manim】含有add_updater更新函数become的物体移动方法
  5. 【java】学习路径42-六种字符流使用实例
  6. Maven中使用ssm框架出现:org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常
  7. 至少要几个砝码,可以称出 1g ~ 40g 重量
  8. 01_Linux基础-部署-VMware-Xshell-Xftp-内核-安迪比尔定理
  9. Unity-编辑器拓展之GUILayout,EditorGUILayout布局 { }
  10. LFS(Linux From Scratch)构建过程全记录(三):下载所需的软件包