Applied Thanks. ----- Original Message ----- From: "Antti Koivunen" <[EMAIL PROTECTED]> To: "Avalon Developers List" <[EMAIL PROTECTED]> Sent: Tuesday, March 05, 2002 12:43 AM Subject: Re: [Patch] AbstractCache: Lazy event instantiation
> For Mozilla, '*.patch' apparently means 'text/html', so here's the same > thing renamed to '*.patch.txt', just in case. > > (: A ;) > > Antti Koivunen wrote: > > This simple patch will considerably improve the performance in case > > there are no cache listeners. > > > > (: A ;) > > > ---------------------------------------------------------------------------- ---- > Index: AbstractCache.java > =================================================================== > RCS file: /home/cvspublic/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/ex calibur/cache/AbstractCache.java,v > retrieving revision 1.6 > diff -u -r1.6 AbstractCache.java > --- AbstractCache.java 17 Jan 2002 15:47:05 -0000 1.6 > +++ AbstractCache.java 4 Mar 2002 15:24:28 -0000 > @@ -11,8 +11,10 @@ > import java.util.Iterator; > > /** > + * An abstract superclass for cache implementations. > * > * @author <a href="mailto:[EMAIL PROTECTED]">Eung-ju Park</a> > + * @author <a href="mailto:[EMAIL PROTECTED]">Antti Koivunen</a> > */ > public abstract class AbstractCache > implements Cache > @@ -36,22 +38,30 @@ > > protected void notifyAdded( final Object key, final Object value ) > { > - final CacheEvent event = new CacheEvent( this, key, value ); > + CacheEvent event = null; > > final int s = m_listeners.size(); > for ( int i = 0; i < s; i++ ) > { > + if ( event == null ) > + { > + event = new CacheEvent( this, key, value ); > + } > ((CacheListener)m_listeners.get( i )).added( event ); > } > } > > protected void notifyRemoved( final Object key, final Object value ) > { > - final CacheEvent event = new CacheEvent( this, key, value ); > + CacheEvent event = null; > > final int s = m_listeners.size(); > for ( int i = 0; i < s; i++ ) > { > + if ( event == null ) > + { > + event = new CacheEvent( this, key, value ); > + } > ((CacheListener)m_listeners.get( i )).removed( event ); > } > } > > ---------------------------------------------------------------------------- ---- > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>