Python 为整个程序启用Cython评测?

Python 为整个程序启用Cython评测?,python,profiling,cython,Python,Profiling,Cython,Cython文档说“Cython中的评测由编译器指令控制。它可以为整个文件设置,也可以通过Cython decorator对每个函数进行设置。” 是否有任何简单的方法可以为整个Python程序启用Cython评测?也就是说,有没有一种方法可以让我不必每次打开和关闭评测时都将\cython:profile=True添加到几十个文件中?我相信您可以通过在命令行上将一个选项传递到cython来全局设置指令。文档的“编译”部分在“如何设置指令”()下对其进行了描述 还可以使用-X开关在命令行上传递指令:

Cython文档说“Cython中的评测由编译器指令控制。它可以为整个文件设置,也可以通过Cython decorator对每个函数进行设置。”


是否有任何简单的方法可以为整个Python程序启用Cython评测?也就是说,有没有一种方法可以让我不必每次打开和关闭评测时都将
\cython:profile=True
添加到几十个文件中?

我相信您可以通过在命令行上将一个选项传递到
cython
来全局设置指令。文档的“编译”部分在“如何设置指令”()下对其进行了描述

还可以使用-X开关在命令行上传递指令:

$cython-X boundscheck=True

在命令行上传递的指令将覆盖标题注释中设置的指令

如果您是通过
distutils
setup.py
)并使用
cythonize
函数进行编译,则可以添加选项
compiler\u directives
,这是一个将指令名称映射到相应值的字典。我还没有找到此功能的文档,但它似乎是
cython
程序调用
cythonize
函数()的方式

比如说

from distutils.core import setup
from Cython.Build import cythonize

setup(
    name = "My hello app",
    ext_modules = cythonize("src/*.pyx",
                            compiler_directives={'profile': True})
)

应记录此编译器\u指令选项。我花了太长时间才找到这个。