gpt4 book ai didi

python - cython中融合类型的替代品

转载 作者:行者123 更新时间:2023-11-28 20:21:00 25 4
gpt4 key购买 nike

我正在努力将最初使用 C 语言编写的 Python 模块重写为 Cython。该模块还使用 NumPy。该项目的一个主要挑战是保持模块的当前速度,并且它应该适用于所有 Numpy 数据类型。我正在考虑使用融合数据类型使其通用,但我担心它会对性能产生瓶颈影响。是否可以使用任何其他技术来代替融合类型,我可以使用它来实现速度和通用代码。

最佳答案

忽略 ali_m 关于您是否实际测量了性能问题的完全有效的评论...

http://docs.cython.org/src/userguide/fusedtypes.html#selecting-specializations

“对于从 Cython 调用的 cdef 或 cpdef 函数,这意味着特化是在编译时确定的。对于 def 函数,参数在运行时进行类型检查,并执行尽力而为的方法来确定需要哪种特化”

本质上,如果您从 Cython 调用,应该没有问题 - 单独的函数被生成和使用而没有开销。如果您从 Python 调用,它显然必须停下来考虑调用哪一个。

但是在担心之前衡量一下你的表现! (并阅读手册,它非常清楚地回答了您的问题。)

关于python - cython中融合类型的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256582/

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