python - C/Python API : efficiency of Py_BuildValue use

标签 python c

我目前正在使用 C/Python API 从大型二进制文件中读取数据。 Python 中的这个结果不如纯 C 结果(时间 x2)那么高效,因为我认为,将事物包装成 PyObject 所花费的时间。通常,我将 42 个元素的元组存储在 PyArrayObject 中。为此,我使用:

PyObject *r = Py_BuildValue("(f、I、i、K、f、K、K 等..)"、a、b、c 等...) ;

我的问题如下:是否有更有效的方法(更快的执行时间)?

例如:PyTuple_Pack(n, args) 会更快吗?

最佳答案

对于时间关键的代码,我创建一个所需长度的元组,然后单独创建组件并将它们填充到元组中。

关于python - C/Python API : efficiency of Py_BuildValue use,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9228771/

相关文章:

类中的 Python 线程

javascript - 计算 4x4 矩阵的行列式 - (RayTracer 挑战) - Javascript

Python & clang : try. .. except 语句不适用于段错误(核心转储)

python - 使用 Python 基于来自用户的 JSON 构建 mongoDB 查询

python - 如何向终端应用程序编写透明包装器?

C 中的命令行参数 - 奇怪的输出

c++ - 从二进制文件读取后出现未处理的异常,当控制权返回给调用函数时

python - 客户端连接和断开立即没有错误消息?

c - Linux 内核模块 : How to reinject packets the kernel considers as NF_STOLEN?

c - 结构指针数组,在 c 中获取段错误