On Mon, Jan 28, 2013 at 2:16 PM, Roy Stogner <royst...@ices.utexas.edu> wrote:
>
> On Mon, 28 Jan 2013, John Peterson wrote:
>
>> Did you check that this actually changed the size of Node?
>
>
> That would smack of effort.  I'm more of an ideas person.
>
>
>> If yes, how did you check?
>
>
> Fine, fine...
>
> I just wrote a quick program to print sizeof(Node) on my (amd64 Linux)
> system.  With the newest git master I see it's 64 bytes.
>
> With a random not-too-old svn head build I had handy, it's 80 bytes.
>
> Wait, what?  Maybe Ben's recent variable-groups optimizations saved
> memory even in the "nobody's added any variables" case?
>
> Okay, with the newest git master recompiled after reverting DofObject
> to have a virtual destructor... I see 80 bytes.
>
> Now I'm happy, but baffled.  Do we have *two* vptrs taking up space
> there because of multiple inheritance or something?  But neither Point
> nor ReferenceCountedObject have any virtual methods...

This was my first thought, but like you I concluded that MI shouldn't
make a difference if neither parent has virtuals...

I can't explain how you saved 16 bytes, unless some other hidden
padding that was there got removed along with the removal of the
vtable?


--
John

------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to