gpt4 book ai didi

cython - 如何分析由另一个 python 脚本调用的 cython 代码?

转载 作者:行者123 更新时间:2023-12-04 16:04:13 32 4
gpt4 key购买 nike

$ cat calc_pi.pyx
# cython: profile=True
# cython: language_level=3
# cython linetrace=True

# calc_pi.pyx

cimport cython

@cython.profile(False)
def recip_square(int i):
return 1. / i ** 2

def approx_pi(int n=10000000):
cdef double val = 0.
cdef int k
for k in range(1, n + 1):
val += recip_square(k)
return (6 * val) ** .5

$ cat runme.py
import calc_pi
import argparse

def main():
parser = argparse.ArgumentParser(prog='{0}'.format(__file__))
parser.add_argument("-i", "--index", help="specify number", type=int)
args = parser.parse_args()
num = int(args.index)
print(calc_pi.approx_pi(num))

if __name__ == "__main__":
main()

问题> 我已经看到如何分析单个 cython 函数,例如 calc_pi.approx_pi .但是,我在通过调用 python 脚本来分析这些函数时遇到了问题。

例如,假设您不能直接分析函数 calc_pi.approx_pi因为您需要来自 python 脚本的一些参数/预处理(即 runme.py )。

有什么方法可以分析 calc_pi.approx_pi通过调用 runme.py ?

谢谢

最佳答案

这是一个相当古老的问题,但我遇到了同样的问题,所以我认为发布对我有用的内容可能会有用。

开始你的 Cython 脚本:# cython: profile=True (正如您已经完成的那样)并在您的 中 python 脚本,import cProfile然后 cProfile.run('cython_function(arguments)').

关于cython - 如何分析由另一个 python 脚本调用的 cython 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52900329/

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