将变量从Python转移到C ,并全速运行C (不是Python速度)

Transferring variable to C++ from python and running C++ at full speed (not python speed)

本文关键字:Python 运行 不是 速度 变量 转移      更新时间:2023-10-16

我正在用Python代码进行一些操作,对于Python来说太慢了。

我需要解释一下我正在做的事情的全球背景。

我正在阅读Python董事会的一些输入。这是一个连续的操作(我从板上连续读取数据)。

我还需要通过对这些数据进行一些计算来处理这些数据。它们在实践中保存在numpys阵列中。

为了提高thoose计算的速度,我想在C或C 中运行它们。

但是,由于一切都连续,我需要将thoose numpy阵列从Python转移到C 。因此,我的问题如下:

从Python运行C 代码的更好方法是,从Numpy阵列到C 表的变量传输最快的可能性是最快的?在理想情况下,C 代码" 直接"读取内存中的numpy数组?

我已经阅读了一些有关在Python中使用C 的主题完全C 程序)。

您想实现的目标可以通过Cython使用预编译的库来完成。

将您的C/C 代码编译到动态库中(.so on *nix,.dll上的.dll);export您要在Python中使用的功能。

然后,您可以使用ctypes.cdll.LoadLibrary(https://docs.python.org/3/library/ctypepes.html)加载库中的库,然后使用numpy.ctypeslib.ndpointer(https://docs://docs:/。

如果确保Numpy阵列是连续的,则可以像预期的那样在C/C 中使用。