【问题标题】:Is it wise to use Numba and Cython togther?一起使用 Numba 和 Cython 是否明智?
【发布时间】:2021-09-01 12:53:02
【问题描述】:

我正在开发一个依赖于尽可能快地迭代数百万个数据点的程序。

我打算将此程序转换为独立的 exe,以便于使用和分发。

我一直在研究 numba 和 cython 以尽可能加快我的程序,但它们似乎都擅长不同的事情。

Numba 受到更多限制,但非常擅长遍历 numpy 数组,并且无需太多思考即可轻松实现。

平均而言,它似乎也比 Cython 快,尤其是在数据集很大的情况下。至少从我读到的内容来看。

Cython 比 numba 更难实现,但它是通用的,在大多数情况下几乎或同样快。

但我从未听说有人将它们一起使用。

我正在考虑在方便和有用时使用 Numba,而在其他地方使用 Cython。

这是个坏主意吗? 我错过了什么吗?

【问题讨论】:

    标签: python-3.x cython numba


    【解决方案1】:

    我正在考虑在方便和有用时使用 Numba,而在其他地方使用 Cython。

    我想你会发现:

    1. 如果您需要从 @ead 编写的 a very thorough answer 详细说明限制的 Numba 调用 Cython 函数。基本上,它不能很好地看到 Cython 内部的 def 函数,但是有办法将 cdefcpdef 函数传递给它。

    2. 您不能在 Cython 代码中定义您的 Numba 函数。这是因为 Numba 查看函数的字节码,而 Cython 编译的函数没有字节码。

    有了这两个警告,我认为它们可以共存,因此根据任务进行选择并没有真正的问题。

    【讨论】:

      猜你喜欢
      • 2011-02-13
      • 2019-02-02
      • 2019-11-17
      • 2010-12-30
      • 1970-01-01
      • 2018-10-06
      • 2020-06-29
      • 2010-12-01
      • 1970-01-01
      相关资源
      最近更新 更多