On Tue, 30 Oct 2007 15:25:54 GMT, Neil Cerutti <[EMAIL PROTECTED]> wrote:
>On 2007-10-30, Eduardo O. Padoan <[EMAIL PROTECTED]> wrote:
>> This is a FAQ:
>> http://effbot.org/pyfaq/why-does-python-use-methods-for-some-functionality-e-g-list-index-but-functions-for-other-e-g-len-list.htm
>
>Holy Airy Persiflage Batman!
>
>Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
>win32
>Type "help", "copyright", "credits" or "license" for more information.
>>>> import timeit
>>>> timeit.Timer('len(seq)', 'seq = range(100)').timeit()
>0.20332271187463391
>>>> timeit.Timer('seq.__len__()', 'seq = range(100)').timeit()
>0.48545737364457864
>

Not sure what you're trying to demonstrate.  Here's another pointless
transcript, though:

    [EMAIL PROTECTED]:~$ python -m timeit -s '
    seq = range(100)
    ' 'len(seq)'
    1000000 loops, best of 3: 0.211 usec per loop
    [EMAIL PROTECTED]:~$ python -m timeit -s '
    seq = range(100)
    ' 'seq.__len__()'
    1000000 loops, best of 3: 0.317 usec per loop
    [EMAIL PROTECTED]:~$ python -m timeit -s '
    class X(object):
      def __len__(self): return 100
    seq = X()
    ' 'seq.__len__()'
    1000000 loops, best of 3: 0.427 usec per loop
    [EMAIL PROTECTED]:~$ python -m timeit -s '
    class X(object):
      def __len__(self): return 100
    seq = X()
    ' 'len(seq)'
    1000000 loops, best of 3: 0.701 usec per loop
    [EMAIL PROTECTED]:~$

I guess we've learned that sometimes something is faster than something
else, and other times the contrary.

Jean-Paul
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to