Bill Lucy created MYFACES-4186:
----------------------------------
Summary: Performance concurrency issue in _ComponentAttributesMap
Key: MYFACES-4186
URL: https://issues.apache.org/jira/browse/MYFACES-4186
Project: MyFaces Core
Issue Type: Bug
Affects Versions: 2.3.0-beta, 2.2.12, 2.1.18, 2.0.24
Reporter: Bill Lucy
Assignee: Bill Lucy
We've hit a performance issue with the property descriptor map in
_ComponentAttributesMap. Driving a heavy load to an application, we can see
threads spending a lot of time in this area:
...
(entered lock: java/util/Collections$SynchronizedMap@0x000000000000000, entry
count:1)
at
javax/faces/component/_ComponentAttributesMap.getPropertyDescriptor(_ComponentAttributesMap.java:394(Compiled
Code))
at
javax/faces/component/_ComponentAttributesMap.containsKey(_ComponentAttributesMap.java:165(Compiled
Code))
at
javax/faces/component/UIComponent.isCompositeComponent(UIComponent.java:239(Compiled
Code))
...
In this case, replacing the HashMap used by _propertyDescriptorMap with a
ConcurrentHashMap gives us much better performance. Since we can use a
ConcurrentHashMap here, there shouldn't be any performance hit in the normal
case.
Related: https://issues.apache.org/jira/browse/MYFACES-3216
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)