python边写边总结(三)Numba概要

Numba是一个开源的JIT编译器,它使用LLVM库将Python和NumPy代码转换为优化的机器代码,实现运行时编译。通过Numba的装饰器,用户可以在不替换Python解释器或安装额外编译器的情况下,轻松提升Python函数的执行速度,尤其在处理NumPy数组时,能接近C或FORTRAN的性能。Numba还支持简化线程、SIMD向量化和GPU加速,为CPU和GPU提供并行化选项。
摘要由CSDN通过智能技术生成

Numba is an open source JIT Complier that translates a subset of Python and NumPy code into fast machine code.

Numba是一个开源的JIT编译器,它将Python和NumPy代码的子集转换为机器代码

  • JIT(Just in time)

首先需要认识一下python是一种解释性的语言,它会把每一句都解释一遍,如果语句出现在循环体中,循环十次就会被解释10次,不产生目标代码,但是如果加入了编译compilation,就会把文件一次性编译成目标代码,目标代码十可执行的机器语言,或是已存在相应翻译器的不可执行语言

这里就来解释一下Just in time compilation,首先仍然是compilation,有caching,不像interpretation只是执行到某句之后再解释,也不会像static compilation,它是在编译过程对代码进行优化,选择性的编译某个函数或任意某段代码。

 

Numba translates Python functions to optiized machine code at runtime using the industry-standard LLVM compiler library. Numba-compiled numerical algorithms in Python can approach the speeds of C or FORTRAN.

Numba使用行业标准的LLVM编译器库在运行时将Python函数转换为优化的机器代码。 Python中的Numba编译数值算法可以接近C或FORTRAN的速度。

  • LLVM

LLVM是架构编译器(compiler)的框架系统,以C++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值