[Python-Dev] Performance of pre-creating exceptions? (original) (raw)
Adam Olsen rhamph at gmail.com
Sat Mar 3 04:19:09 CET 2007
- Previous message: [Python-Dev] NOARGS_NULL
- Next message: [Python-Dev] Performance of pre-creating exceptions?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
$ python2.5 -m timeit -r 10 -n 1000000 -s 'class Foo(Exception): pass' 'try: raise Foo()' 'except: pass' 1000000 loops, best of 10: 2.49 usec per loop $ python2.5 -m timeit -r 10 -n 1000000 -s 'class Foo(Exception):' -s ' def init(self): pass' 'try: raise Foo()' 'except: pass' 1000000 loops, best of 10: 3.15 usec per loop $ python2.5 -m timeit -r 10 -n 1000000 -s 'e = Exception()' 'try: raise e' 'except: pass' 1000000 loops, best of 10: 2.03 usec per loop
We can get more than half of the benefit simply by using a default init rather than a python one. If you need custom attributes but they're predefined you could subclass the exception and have them as class attributes. Given that, is there really a need to pre-create exceptions?
-- Adam Olsen, aka Rhamphoryncus
- Previous message: [Python-Dev] NOARGS_NULL
- Next message: [Python-Dev] Performance of pre-creating exceptions?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]