On May 24, 11:30 am, 7stud <[EMAIL PROTECTED]> wrote: > On May 24, 9:36 am, "[EMAIL PROTECTED]" > > > > <[EMAIL PROTECTED]> wrote: > > Hi, > > > I am using timeit to time a global function like this > > > t = timeit.Timer("timeTest()","from __main__ import timeTest") > > result = t.timeit(); > > > But how can i use timeit to time a function in a class? > > class FetchUrlThread(threading.Thread): > > def aFunction(self): > > # do something .... > > > def run(self): > > # how can I time how long does aFunction() take here? > > aFunction(); > > > Thank you. > > How about this: > > class Dog(object): > def run(self): > result = 10 * 20 + 3 > > import timeit > > t = timeit.Timer("d.run()", "from __main__ import Dog; d = Dog()") > print t.timeit()
Actually, you could do this: class Dog(object): def aFunction(self): result = 20 + 2 def run(self): #do stuff aFunction() #do other stuff import timeit t = timeit.Timer("d.aFunction()", "from __main__ import Dog; d = Dog()") print t.timeit() It doesn't matter if you call aFunction() directly if all you want to do is time aFunction(). -- http://mail.python.org/mailman/listinfo/python-list