Время одного выполнения функции с использованием timeit - PullRequest
0 голосов
/ 10 мая 2018

функция печати вызывается много раз. Я хочу вычислить время функции. Я написал коды,

import timeit

class UserClass:
    def callname(self):
        print("HiTom")

if __name__ == '__main__':
    def test():
        user = UserClass()
        user.callname()

    test()
    mtime = timeit.timeit(lambda: test())
    print(mtime)

Когда я запускаю коды, «Привет Том» вызывается много раз. Я действительно не могу понять, почему такое происходит.

я переписал

mtime = timeit.timeit(test(), number=1)

но ValueError: stmt не является ни строкой, ни вызываемой ошибкой. Как я могу создать свою идеальную систему? Что не так в моих кодах?

1 Ответ

0 голосов
/ 10 мая 2018

Вам придется

  1. передать строку в поле stmt и
  2. передать globals диктовку, чтобы timeit выяснил, откуда взята функция test

>>> timeit.timeit("test()", number=1, globals=globals())
HiTom
3.45029984600842e-05
...