原文:https://blog.csdn.net/huang5333/article/details/122362468
JIT (Just-in-time compilation):JIT 即时编译技术是在运行时(runtime)将调用的函数或程序段编译成机器码载入内存,以加快程序的执行。说白了,就是在第一遍执行一段代码前,先执行编译动作,然后执行编译后的代码。
python 代码的编译过程包括四个阶段:词法分析 -> 语法分析 -> 生成字节码 -> 将字节码解释为机器码执行, 常见的 python 解释器的类型有 cpython、IPython、PyPy、Jython、IronPython,与其他解释器不同,numba 是使用 LLVM 编译技术来解释字节码的。
1. 加速Python的for循环
numba 基本对所有的 for 循环代码都有非常好的加速效果,当然前提是 for 循环里面的代码必须是 numba 能够理解的。
2. 加速numpy
3. 直接用python写CUDA Kernel