2012/3/9 Konstantin Kolinko <knst.koli...@gmail.com>: > 2012/3/9 Martin Koci <martin.kocicak.k...@gmail.com>: >> Hi, >> >> we did performance tests in myfaces core project recently and we found >> two performance problems in tomcat (7.0.26): >> >> >> 1) javax.el.ExpressionFactory.newInstance() does not cache instance >> created with javax.el.ExpressionFactory.newInstance. - every invocation >> of this method reads service .properties file again and accesses disk. >> This was discussed a time ago [1], but I forgot to report it. > > +1. > >> >> 2) org.apache.catalina.core.ContainerBase.fireContainerEvent; >> That method contains critical section: >> synchronized (listeners) { >> list = listeners.toArray(list); >> } >> >> Is is called pretty often with every put operation into request or >> session map. > > I see fireContainerEvent() calls in StandardSession. > Moreover those are N x M loops: a loop in StandardSession over array > of context.getApplicationEventListeners(); x a loop inside of > context.fireContainerEvent(). > > +1 to file. > > I do not see such calls in relation to request. Where have you seen them? > >> That code in tomcat looks like a candidate for >> CopyOnWriteArrayList > > Will it eliminate a need for List -> Object[] conversions? > > Just a simple solution might be a ReadWriteLock. > >> Can I create a bugzilla ticket fot those two? >> >> Regards, >> >> Kočičák >> >> [1] http://www.mail-archive.com/dev@myfaces.apache.org/msg48482.html >>
I added these two reported issues into Bugzilla: https://issues.apache.org/bugzilla/show_bug.cgi?id=52998 https://issues.apache.org/bugzilla/show_bug.cgi?id=52999 Best regards, Konstantin Kolinko --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org