On Fri, 17 Dec 2004 13:24:43 -0600, Mike Meyer <[EMAIL PROTECTED]> wrote: >Jeff Shannon <[EMAIL PROTECTED]> writes: > > > Sion Arrowsmith wrote: > > Additionally, as I understand it UserList and UserDict are implemented > > entirely in Python, which means that there can be significant > > performance differences as well. > > Actually, UserList and UserDict are just wrappers around the builtin > types. So the performance hit is one Python function call - pretty > much neglible. But new code should still subclass the builtins.
Only tangentially related, but I'll bring it up anyway: method calls are more expensive than function calls: [EMAIL PROTECTED]:~$ timeit -s "def foo(): pass" "foo()" 1000000 loops, best of 3: 0.382 usec per loop [EMAIL PROTECTED]:~$ timeit -s "class Foo: def foo(self): pass f = Foo()" "f.foo()" 1000000 loops, best of 3: 0.611 usec per loop [EMAIL PROTECTED]:~$ This is due to the attribute lookup as well as the creation and destruction of a bound method object for each call. Jp -- http://mail.python.org/mailman/listinfo/python-list