Hi, I'm optimizing render response on a large view (takes over 3 secs to render) and below you can see results of unsorted and unfiltered ELResolvers chain. The most important info is that BeanELResolver resolves property over 40000x from 64000 invocations. The second place belongs to ImplicitObjectResolver with over 20000 resolved properties. The reason why BeanElResolver is so successful is because majority of expressions looks like {requestScope.pojoObject.propertyOne.propertyTwo}.
The obvious optimalization would be move the BeanELResolver to top. But you cannot: EL spec 2.2 javax.el.BeanELResolver: "If the property is not found or is not readable, a PropertyNotFoundException is thrown." So UEL spec. mandates that BeanELResolver must be last one which resolves not-null base and a property on that base. Do you know the reason for that? Do you have any ideas how to move BeanELResolver to top and avoid thousands of "empty" geValue invocations? Thanks, Kočičák Results: ImplicitObjectResolver: getValue invocations: 64452 getValue hits: 21018 org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver: getValue invocations: 64336 getValue hits: 30 org.richfaces.skin.SkinPropertiesELResolver getValue invocations: 64306 getValue hits: 0 org.richfaces.resource.ResourceParameterELResolver getValue invocations: 64306 getValue hits: 0 org.jboss.weld.environment.servlet.jsf.WeldApplication $LazyBeanManagerIntegrationELResolver getValue invocations: 64306 getValue hits: 975 org.apache.myfaces.el.unified.resolver.ManagedBeanResolver getValue invocations: 63331 getValue hits: 0 org.apache.myfaces.el.unified.resolver.ResourceResolver getValue invocations: 63331 getValue hits: 64 javax.el.ResourceBundleELResolver getValue invocations: 63267 getValue hits: 3 org.apache.myfaces.el.unified.resolver.ResourceBundleResolver getValue invocations: 63264 getValue hits: 3 javax.el.MapELResolver: getValue invocations: 63261 getValue hits: 1069 javax.el.ListELResolver: getValue invocations: 62192 getValue hits: 0 javax.el.ArrayELResolver: getValue invocations: 62192 getValue hits: 0 javax.el.BeanELResolver: getValue invocations: 62192 getValue hits: 40563 org.apache.myfaces.el.unified.resolver.ScopedAttributeResolver getValue invocations: 21629 getValue hits: 582