On May 24, 12:23 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > On May 24, 12:41 pm, 7stud <[EMAIL PROTECTED]> wrote: > > > > > Actually, you can 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() > > > Since you only want to time aFunction(), you can call it directly. > > Can 't = timeit.Timer()' run inside a thread? > And I have multiple threads running this 't = timeit.Time()' function?
Are you seeing an error like this: Exception in thread Thread-1: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.4//lib/ python2.4/threading.py", line 442, in __bootstrap self.run() File "test1.py", line 34, in run print t.timeit() File "/Library/Frameworks/Python.framework/Versions/2.4//lib/ python2.4/timeit.py", line 161, in timeit timing = self.inner(it, self.timer) File "<timeit-src>", line 3, in inner TypeError: __init__() takes exactly 2 arguments (1 given) That was produced by this code: ---------- import time import timeit import threading t = timeit.Timer("inst.f()", "from __main__ import Dog; inst=Dog()") print t class Dog(threading.Thread): def __init__(self, id): self.id = id threading.Thread.__init__(self) def f(self): result = 20 + 3 def run(self): print t print t.timeit() d = Dog("d") d.start() -------------- I can't explain that error. This works: -------------- import time import timeit import threading t = timeit.Timer("inst.f()", "from __main__ import Dog; inst=Dog()") class Dog(threading.Thread): def f(self): result = 20 + 3 def run(self): print t.timeit() d = Dog() d.start() ----------- -- http://mail.python.org/mailman/listinfo/python-list