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

时间:2018-10-19 21:49:23

标签: cython

$ 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

谢谢

0 个答案:

没有答案