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