[Libreoffice] [PATCH] some changes for better performance, writer.
David Tardon
dtardon at redhat.com
Sun Jan 9 21:40:32 PST 2011
On Mon, Jan 10, 2011 at 06:32:40AM +0100, David Tardon wrote:
> On Tue, Jan 10, 2006 at 08:09:17PM -0300, Kayo Hamid wrote:
> > diff --git a/sw/source/core/access/acccell.cxx b/sw/source/core/access/acccell.cxx
> > index dbd1b51..2479c5c 100644
> > --- a/sw/source/core/access/acccell.cxx
> > +++ b/sw/source/core/access/acccell.cxx
> > @@ -121,7 +121,7 @@ SwAccessibleCell::SwAccessibleCell( SwAccessibleMap *pInitMap,
> > sal_Bool SwAccessibleCell::_InvalidateMyCursorPos()
> > {
> > sal_Bool bNew = IsSelected();
> > - sal_Bool bOld;
> > + sal_Bool bOld = sal_False;
> > {
> > osl::MutexGuard aGuard( aMutex );
> > bOld = bIsSelected;
> This is good, but not necessary, because bOld is always initialized later.
> Anyway, if it has any impact on performance, it's negative, because
> there must be at least one instruction more (to store the initialization
> value into the variable).
>
> > @@ -349,7 +349,7 @@ sal_Bool SwAccessibleCell::setCurrentValue( const uno::Any& aNumber )
> > SolarMutexGuard aGuard;
> > CHECK_FOR_DEFUNC( XAccessibleValue );
> >
> > - double fValue = 0;
> > + const double fValue = 0;
> > sal_Bool bValid = (aNumber >>= fValue);
> > if( bValid )
> > {
> This is absolutely wrong, because fValue is changed just a line lower (by
> >>=, which is uno::Any extraction operator).
>
> > diff --git a/sw/source/core/access/acccontext.cxx b/sw/source/core/access/acccontext.cxx
> > index 127820f..978dcad 100644
> > --- a/sw/source/core/access/acccontext.cxx
> > +++ b/sw/source/core/access/acccontext.cxx
> > @@ -507,7 +507,7 @@ void SwAccessibleContext::FireVisibleDataEvent()
> > }
> >
> > void SwAccessibleContext::FireStateChangedEvent( sal_Int16 nState,
> > - sal_Bool bNewState )
> > + const sal_Bool bNewState )
> > {
> > AccessibleEventObject aEvent;
> >
> This is good, but why not mark nState const as well? It is not changed
> anywhere in the function... Anyway, there is absolutely _no_ performance
> gain in it.
>
> > - void FireStateChangedEvent( sal_Int16 nState, sal_Bool bNewState );
> > + void FireStateChangedEvent( sal_Int16 nState, const sal_Bool
> bNewState );
> This is superfluous, because these two signatures are equal (well, not
> all compilers understand it correctly, e.g., the Sun C++ compiler).
>
Anyway, do not let me discourage you :) May I suggest that you look at
http://wiki.documentfoundation.org/Development/Easy_Hacks ? There should
be enough interesting things to try there.
D.
More information about the LibreOffice
mailing list