PI92335: JavaServer Pages (JSP) performance difference between JSP 2.2 and JSP 2.3
Closed as suggestion for future release.
Profiling shows there is a outstanding hot spot related to EL resolver difference between the two versions of WebSphere. The difference comes down to class AstIdentifier. To be EL 3.0 spec. section 1.5.1 Evaluating Identifiers. compliant, this class needed to be modified in order to support Lamba expressions, variables, ELResolvers, and statically imported fields. This set of new checks is generating the behavior reported in the PMR. After evaluating the issue the particular ELResolver causing the biggest performance difference is ScopedAttributeELResolver (javax.servlet.jsp.el). This class is included in WAS from the JSP API classes provided by the Oracle. It was modified for JSP 2.3 to support EL 3.0 static fields for imported classes (as we have mentioned in previous responses).
We can recommend a workaround that, depending on your application, could improve the performance when resolving EL expressions. The workaround is to set a value for each EL variables that you're using in a page. If a variable is null, a check in the classloader will be made and here is where we start seeing the performance difference. To set the value for a variable you can use any of the following scopes: page, request, session, and application (the most efficient would be the page scope, but you need to evaluate if that makes sense for the application).
APAR PI92335 is being closed SUG because the JavaServer Pages (JSP) 2.3 specification has a dependency on EL 3.0. This dependency has the potential to cause a performance degradation between JSP 2.2 and JSP 2.3 due to the EL 3.0 static variable resolution feature. A new action has been added to JSP 2.3 when resolving EL expression; if an EL expression variable is not fou on any of the scopes (page, request, session, or application), then the JSP engine will need to verify if the variable is a statically imported field in order to be compliant with the EL 3 specification. This new check might have a performance differenc when compared to just checking the scopes (as in JSP 2.2) as classloading operations will happen. A JSP 2.3 issue is open in the Java Enterprise Edition issue tracker. The title of the issue is "JSP spec. needs to define a mechanism to support EL 3.0 static fields for imported classes".
Reported component name
WEBSPHERE APP S
Reported component ID
NoSpecatt / Xsystem
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Applicable component levels
Translate this page: