myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Koci <martin.kocicak.k...@gmail.com>
Subject [core] lock profiling results for current myfaces
Date Wed, 27 Jul 2011 19:20:24 GMT
Hi,

I'm doing some profiling for a view, where thousand of concurrent users
is planned.  Configuration myfaces trunk, juel, tomcat 6.0.26, OWB trunk

Here are the top blocking locks:

1) java.util.Collections$SynchronizedMap.get(Object)
de.odysseus.el.tree.impl.Cache.get(String)	

2)java.beans.PropertyDescriptor.getReadMethod()
javax.el.BeanELResolver$BeanProperty.getReadMethod()	

3)org.apache.catalina.core.ContainerBase.fireContainerEvent(String,
Object)
....
org.apache.myfaces.util.AbstractThreadSafeAttributeMap.put(String,
Object)...
... ServerSideStateCacheImpl.saveSerializedViewInServletSession

4)javax.faces.FactoryFinder._getFactory(String)
javax.faces.FactoryFinder.getFactory(String)
org.apache.myfaces.context.servlet.FacesContextImplBase.getRenderKit()	

ad 1 and 2) - those come from JUEL. The first one I try to avoid with
[1] and second one with [2] as Mark Struberg suggested. ( why JUEL uses
SynchronizedMap, not ConcurrentHashMap ?)



3) and 4) are from myfaces - any ideas if they can be avoided?

Regards,

Kočičák


[1] https://issues.apache.org/jira/browse/MYFACES-3160
[2]
https://github.com/struberg/juel/commit/da3791b91c3e23c973ee865050846b980399ecff





Mime
View raw message