Tho*_*son 5 python profiling cython
Cython文档说"Cython中的分析是由编译器指令控制的.它可以通过Cython装饰器为整个文件或每个函数设置."
有没有简单的方法为整个Python程序启用Cython分析?也就是说,# cython: profile=True每次我想要打开和关闭分析时,有没有办法让我不必经历并添加几十个文件?
我相信你可以通过在命令行上传递一个选项来全局设置指令cython.它在"如何设置指令"(http://docs.cython.org/src/reference/compilation.html#how-to-set-directives)下的文档的"编译"部分中进行了描述.
也可以使用-X开关在命令行上传递指令:
$ cython -X boundscheck = True ...
在命令行上传递的指令将覆盖在头注释中设置的指令.
如果您正在编译通过distutils(setup.py)并使用该cythonize函数,则看起来您可以添加选项compiler_directives,即将指令名称映射到相应值的字典.我还没有找到此功能的文档,但它似乎是cython程序调用该cythonize函数的方式(https://github.com/cython/cython/blob/master/Cython/Build/Cythonize.py#L83).
例如
from distutils.core import setup
from Cython.Build import cythonize
setup(
name = "My hello app",
ext_modules = cythonize("src/*.pyx",
compiler_directives={'profile': True})
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
560 次 |
| 最近记录: |