test_profile.py

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 87 行

PY
87
字号
"""Test suite for the profile module."""import profile# In order to have reproducible time, we simulate a timer in the global# variable 'ticks', which represents simulated time in milliseconds.# (We can't use a helper function increment the timer since it would be# included in the profile and would appear to consume all the time.)ticks = 0def test_main():    global ticks    ticks = 0    prof = profile.Profile(timer)    prof.runctx("testfunc()", globals(), globals())    prof.print_stats()def timer():    return ticks*0.001def testfunc():    # 1 call    # 1000 ticks total: 400 ticks local, 600 ticks in subfunctions    global ticks    ticks += 199    helper()                            # 300    helper()                            # 300    ticks += 201def helper():    # 2 calls    # 300 ticks total: 40 ticks local, 260 ticks in subfunctions    global ticks    ticks += 1    helper1()                           # 30    ticks += 3    helper1()                           # 30    ticks += 6    helper2()                           # 50    ticks += 5    helper2()                           # 50    ticks += 4    helper2()                           # 50    ticks += 7    helper2()                           # 50    ticks += 14def helper1():    # 4 calls    # 30 ticks total: 29 ticks local, 1 tick in subfunctions    global ticks    ticks += 10    hasattr(C(), "foo")    ticks += 19def helper2():    # 8 calls    # 50 ticks local: 39 ticks local, 11 ticks in subfunctions    global ticks    ticks += 11    hasattr(C(), "bar")                 # 1    ticks += 13    subhelper()                         # 10    ticks += 15def subhelper():    # 8 calls    # 10 ticks total: 8 ticks local, 2 ticks in subfunctions    global ticks    ticks += 2    for i in range(2):        try:            C().foo                     # 1 x 2        except AttributeError:            ticks += 3                  # 3 x 2class C:    def __getattr__(self, name):        # 28 calls        # 1 tick, local        global ticks        ticks += 1        raise AttributeErrorif __name__ == "__main__":    test_main()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?