[sldev] 25% of processing time in particle operator= ???

Erik Anderson odysseus654 at gmail.com
Wed Mar 21 09:38:54 PDT 2007


Umm, you sure?  I haven't looked at the SL source (sorry, just lurking
here), but I have plenty of code in front of me where a simple

a = b

in release build would turn into

check(a != null && b != null)
check(a and b are valid pointers in current heap)
check(b is a valid structure that is internally consistent)
check(call this really long running function to make sure that everything is
good)
a = b
check(is a really equal to be now?)
check(is the fact that a is equal to be going to cause identity problems?)

So yes, the proportion of calls can definately change in a debug build.

On 3/21/07, Tateru Nino <tateru.nino at gmail.com> wrote:
>
> This is so, but the relative percentages of time consumed, should remain
> the same.
>
> Something that takes 25% of your time should still take about 25%
> whether you're running release binary or a debug build. (In fact,
> profiling really only ever works on debug builds). The absolute times
> change (they all get 2-3 times larger) but the relative consumptions
> stay the same.
>
> Erik Anderson wrote:
> > Didn't someone say that this was a debug build that someone profiled?
> > In my debug builds things take 2-3 times longer to happen because of
> > all the sanity checks that are made on the smallest of operations...
> >
> > On 3/21/07, *David Baker* <david_baker at iinet.net.au
> > <mailto:david_baker at iinet.net.au>> wrote:
> >
> >     Hi all,
> >
> >     Just looking back at the profiling output Laurent Laborde posted
> >     on 19 March.  I know there are a lot of provisos on using
> >     profiling results re overheads of various sorts - however I
> >     noticed the following:
> >
> >     > | | | | | | | | | | | | | | + 25.5%
> >     LLPointer<LLViewerPart>::operator=(LLPointer<LLViewerPart> const&)
> >     (Second Life)
> >     > | | | | | | | | | | | | | | | - 10.3%
> >     LLPointer<LLViewerPart>::unref() (Second Life)
> >     > | | | | | | | | | | | | | | | - 10.0%
> >     LLPointer<LLViewerPart>::ref() (Second Life)
> >     > | | | | | | | | | | | | | | | - 5.0% mcount (libSystem.B.dylib)
> >     > | | | | | | | | | | | | | | | 0.0% LLRefCount::unref() (Second
> Life)
> >     > | | | | | | | | | | | | | | | 0.0% dyld_stub_mcount (Second Life)
> >     > | | | | | | | | | | | | | | - 0.0% mcount (libSystem.B.dylib)
> >     Can someone who knows how these reports work better than me please
> >     confirm - does this indicate that the viewer was spending 25.5% of
> >     its processor time setting pointers to particles equal to each
> >     other?  That seems like it is a lot...  Anyone got any way of
> >     telling how often this function is being called?
> >
> >     David
> >
> >     _______________________________________________
> >     Click here to unsubscribe or manage your list subscription:
> >     /index.html
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Click here to unsubscribe or manage your list subscription:
> > /index.html
> >
>
> --
> Tateru Nino
> http://dwellonit.blogspot.com/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20070321/f4b1cbda/attachment-0001.htm


More information about the SLDev mailing list