Hi, On Fri, 2011-06-10 at 13:03 -0700, Michael Babcock wrote: > I've noticed since porting my application to OpenSG 2.0 that generic > field update handling, which I use extensively, is much slower. Some of > the recent changes to OSGChangeList.cpp have improved things along > similar lines to some internal patches I've been using, and I'm still > working on completely resolving the issue, but one item in my profiles > that I noticed was FieldContainerFactory::the() showing up quite > prominently (about 5%). > > It turns out the the the() method is defined in .cpp files and therefore > never inlined. It is used, for example, inside loops in > OSGChangeList.cpp, and thus hurts performance. > > The attached patch makes SingletonHolder<>::the() inline.
thanks, I'll look into it. IIRC it is not inlined as otherwise one might run into trouble where and how many singletons are actually instantiated. I'll check that again. In general generic field handling (getField/editField by name or id) might be slower as they are without rtt in 2.x, so the dynamic type information had to be externalized and run through and an intermediate handler. kind regards gerrit ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users