JIT编译函数中的任意精度算术

时间:2018-05-29 15:19:37

标签: python julia numba arbitrary-precision differentialequations.jl

当我在python中使用numba时,我知道如果我尝试jit-compile其循环中具有任意精度浮点数(mpmath)的函数,它将无法在nopython模式下编译,其速度将与普通python版本相同。我的问题是Julia package DifferentialEquations.jl。在他们的主页上,他们说它支持BigFloats和ArbFloats。我知道这个包也使用julia默认jit编译的循环。所以我的问题是当我传递使用BigFloat数的微分方程时,DifferentialEquations.jl函数是否是jit编译的。

1 个答案:

答案 0 :(得分:3)

是的,它们是通过功能自动专业化。在Julia中,函数将在JIT编译时自动专门处理具体类型。对于所有数字都是如此,事实上即使像Float64这样的东西也只是Julia本身定义的类型并使用这些相同的机制。 This blog post describes this pattern in more detail