【发布时间】:2014-09-20 16:43:01
【问题描述】:
我正在尝试使用 Cython 编译一个模块,以加快速度。
速度提升还不错,但 Cython 的教程指出使用静态类型时它可以更好(参见 http://docs.cython.org/src/quickstart/cythonize.html#determining-where-to-add-types)。
现在我已经使用了
cython -a myscript.pyd
命令查看在哪里添加类型比较好,并且在我声明变量的所有地方,几乎所有代码行都以黄色突出显示,表明我可以在那里添加变量类型。
我遇到的问题是,似乎只能在函数内部执行此操作。例如,我在代码中的一些黄色突出显示的行是
a = np.zeros(len(b))
word = 'pref'
所以在 .pyx 文件中我将其更改为
float a = np.zeros(len(b))
char word = 'pref'
现在这不起作用。我无法运行或编译它。那么如何在不在函数内部时添加变量类型呢?
【问题讨论】: