[Tutor] Memory consumption question
Kent Johnson
kent37 at tds.net
Thu Nov 15 20:22:37 CET 2007
Marc Tompkins wrote:
> I didn't mean that exactly literally - for goodness' sake, this is a
> high-level, object-oriented, interpreted language! We're not writing
> machine language here.
Yes, I was thinking I should re-word my email, it was worded a bit too
strongly...
> What I did mean, and will probably still not express as clearly as I'd
> like, is that when you create a "classic" class, lots of options remain
> unresolved - slots vs. dict comes to mind - and Python needs to reserve
> extra space accordingly. About 134 extra bytes, it would appear.
Still not sure I know what you mean. AFAIK old-style classes don't
support slots, at least not user-defined slots. I do remember talk of
new-style classes and properties allowing a much cleaner implementation
of the class mechanisms, and it seems plausible that such generalization
would lead to fewer options and streamlining of the class structure, but
I don't know enough about the specifics to know if that is right.
I poked around a bit in the source to see if I could figure it out but
got tired of trying to sift through the header files...
Kent
>
> On Nov 15, 2007 9:32 AM, Kent Johnson <kent37 at tds.net
> <mailto:kent37 at tds.net>> wrote:
>
> Marc Tompkins wrote:
>
> > class B is a "new-style' class, meaning that it inherits from a base,
> > pre-existing class (in this case "object", which is as basic and
> generic
> > as you can get!). class A has to start from nothing, which is why it
> > consumes more memory yet has less functionality.
>
> I don't think it is really accurate to say that an old-style class
> "starts from nothing". It doesn't have an explicit base class but it
> does have all the old-style class machinery which is built in to Python.
>
> I don't know why new-style classes are smaller though. My guess is that
> it is because there was an opportunity to streamline the class structure
> based on experience.
>
> Kent
>
>
>
>
> --
> www.fsrtechnologies.com <http://www.fsrtechnologies.com>
More information about the Tutor
mailing list