Re: Inefficient ValueExpressionLiteral.getValue()

2019-03-25 Thread Mark Thomas
On 25/03/2019 12:48, Mark Thomas wrote: > On 25/03/2019 08:40, Thibault Kruse wrote: >> On Wed, Mar 20, 2019 at 7:04 PM Mark Thomas wrote: >>> >>> On 20/03/2019 05:13, Thibault Kruse wrote: Hi, when migrating from Tomcat7 to Tomcat8 for an application using javax-el expression

Re: Inefficient ValueExpressionLiteral.getValue()

2019-03-25 Thread Mark Thomas
On 25/03/2019 08:40, Thibault Kruse wrote: > On Wed, Mar 20, 2019 at 7:04 PM Mark Thomas wrote: >> >> On 20/03/2019 05:13, Thibault Kruse wrote: >>> Hi, >>> >>> when migrating from Tomcat7 to Tomcat8 for an application using javax-el >>> expression evaluation on every request, we noticed a signifi

Re: Inefficient ValueExpressionLiteral.getValue()

2019-03-25 Thread Thibault Kruse
On Wed, Mar 20, 2019 at 7:04 PM Mark Thomas wrote: > > On 20/03/2019 05:13, Thibault Kruse wrote: > > Hi, > > > > when migrating from Tomcat7 to Tomcat8 for an application using javax-el > > expression evaluation on every request, we noticed a significant > > performance impact. > > Try the latest

Re: Inefficient ValueExpressionLiteral.getValue()

2019-03-20 Thread Mark Thomas
On 20/03/2019 05:13, Thibault Kruse wrote: > Hi, > > when migrating from Tomcat7 to Tomcat8 for an application using javax-el > expression evaluation on every request, we noticed a significant > performance impact. Try the latest 8.5.x implementation. There are changes in Java EE 7 to the EL syn

Re: Inefficient ValueExpressionLiteral.getValue()

2019-03-20 Thread Thibault Kruse
I reproduced the problem (on Java8): https://github.com/tkruse/javax-getvalue-slowdown org.apache.tomcat:tomcat-jasper-el:7.0.8 30 expressions in 85 ms org.mortbay.jasper:apache-el:8.0.33 30 expressions in 208 ms Where the slowdown can be reduced by overriding ELContext.convertToType() w

Inefficient ValueExpressionLiteral.getValue()

2019-03-19 Thread Thibault Kruse
Hi, when migrating from Tomcat7 to Tomcat8 for an application using javax-el expression evaluation on every request, we noticed a significant performance impact. Analyzing it, we see that a call sequence like for ValueExpression.getValue(): ExpressionFactory expressionFactory = new Expressi