gpt4 book ai didi

python - 从 Python 调用 C 数学函数的高效解决方案

转载 作者:太空狗 更新时间:2023-10-29 16:11:08 25 4
gpt4 key购买 nike

我听说过从 Python 代码调用 C 函数的不同方法,例如 ctypes、cython、swig、Boost.python 等。当然,每种方法都各有利弊。我的问题是关于效率。我需要从 Python 调用 C 数值函数。这种 C 函数的典型示例是:

double f(double x){
return sin(x)+cos(x)-pow(2,x) + x*x;
}

一次调用需要迭代 2000-200000 次。

在这样的背景下,我应该使用哪个C->Python转换器?

最佳答案

调用用 C 实现的函数不会神奇地使您的程序运行得更快。 不执行 用 Python 编写的代码可能会加快您的程序速度。因此,将这样一个简单的函数移动到 C 例程中不会有任何重要意义。如果您在紧凑的循环中调用它,函数本身可能很快,但是用 Python 编写的循环的开销将完全占主导地位。所以一般的想法是将任务尽可能大移到 C 例程中。在您的示例中,这可能是整个循环。一旦您对 C 函数的单次调用所完成的工作量足够大,函数调用开销本身就可以忽略不计,因此您不必太担心它。以您认为最方便的方式调用该函数。它不会以可衡量的方式影响性能的可能性很高。

关于python - 从 Python 调用 C 数学函数的高效解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34247555/

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