gpt4 book ai didi

python - ctypes 与 C 扩展

转载 作者:IT老高 更新时间:2023-10-28 21:02:31 25 4
gpt4 key购买 nike

我有一些用 C 语言编写的用于游戏项目的函数。这些函数被调用很多次(大约每秒 2000-4000 次)。这些函数是用 C 语言编写的,以实现原始速度。

现在,对我来说,将这些函数包含到 Python 中的最简单方法是使用 ctypes。另一种方法是围绕这些函数编写 Python 的 C 扩展(这需要相当多的额外工作)。所以我想,不包括DLL的初始加载,ctypes的开销有多大?


我使用的是 Python 2.7(标准 CPython 版本),我不想使用像 Cython 这样的外部库。

我知道之前有人问过这个问题,但我没有看到太多关于两个选项之间性能比较的信息。

最佳答案

我比较了 C 扩展与 ctypes 包装器的性能。在我的特定测试中,差异约为 250 倍。对 C 库进行了多次调用,因此 ctypes 包装器也在执行 Python 代码。 C 库的运行时间非常短,这使得 Python 代码的额外开销更加显着。所以这个比例对你来说可能会有所不同,但对我来说很重要。

关于python - ctypes 与 C 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8067171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com