Martin Skou wrote:
> I'm experimenting with using Python for a small web interface, using
> Mark Hammond's nice win32 extensions.
> 
> I use a small class hierarchy which uses inheritance and nested classes.
> 
> Here are a small extract of the code:
> 
> class page:
>       
>       def __init__(self):
>               self.head=[]
>       
>       def __str__(self):
>               ...
> 
>       class simple_tag:
>               ...     
>       
>       class p(simple_tag):
>               ...
>       
>       class table:
>               ...
> 
>               class row:
>                       ...
>                               
>                       class data:
>                               ...
>       ...
> 
> 
> Will this type of code perform noticable slower than unnested classes?

I'm not aware that there is much runtime penalty here - a quick test 
reveals that:

import time

class Foo:
     def __init__(self, baz):
        self.baz = baz

def unnested():
     o = Foo(10)

def nested():
     class Foo:
        def __init__(self, baz):
            self.baz = baz



then = time.time()
for i in xrange(100000):
     unnested()
print time.time() - then

then = time.time()
for i in xrange(100000):
     nested()
print time.time() - then


Yields

0.839588165283
0.817638158798

for me.

But I hope you are aware that nested classes aren't quite the same as 
they are in java, are you?

Regards,

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to