Re: EL method invocation performance

2010-10-28 Thread Martin Koci
Hi,
 hi martin,
 
 
 it would be nice to get more details about the juel issues.

Christian fixed them promptly in JUEL's svn:

http://sourceforge.net/tracker/?func=detailaid=3095122group_id=165179atid=834616

http://sourceforge.net/tracker/?func=detailaid=3031783group_id=165179atid=834616


Back to original topic: JUEL caches the ExpressionFactory instance and
thus does not have discussed performance problem.


 
 
 regards,
 gerhard 
 
 http://www.irian.at
 
 Your JSF powerhouse -
 JSF Consulting, Development and
 Courses in English and German
 
 Professional Support for Apache MyFaces
 
 
 
 
 2010/10/19 Martin Koci martin.kocicak.k...@gmail.com
 Hi,
 
 some news about EL method invocations:
 
 1)  Geronimo EL API implementation has this problem too:
 https://issues.apache.org/jira/browse/GERONIMO-5657
 
 2) UEL bug is still open: 
 https://uel.dev.java.net/issues/show_bug.cgi?id=19
 
 
 3) JUEL doesn't not work for my test cases, for example it
 doesn't find
 some public methods so I cannot say if JUEL has this problem
 now.
 
 
 My today's recommedation (which can change tommorow) is: if
 you want EL
 method invocations without file asscess within
 (without /META-INF/services reading):
 
 A) apply GERONIMO-5657 patch to
 
 http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/ 
 and build this EL-API
 
 B) use impl part from uel.dev.java.net as EL-impl or tomcat's
 EL impl
 
 
 Please note that uel.dev.java.net API suffers from classic
 leaking
 classloader problem too - it uses Class instance as key in
 static Map :
 see MYFACES-2942 for details. Maybe we should put a warning
 about these
 two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?
 
 
 Regards,
 
 Kocicak
 
 Martin Koci píše v St 25. 08. 2010 v 20:52 +0200: 
 
  Hi,
 
  I'll try it but not today :) Optimization is my priority
 task for next
  few months and certainly I'll compare all four (or more?) EL
  implementations.
 
  Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
   Martin, could you please give juel a quick try? Would be
 interested if if also
   suffers from this problem.
  
   You can find a slightly tweaked (bugfixed) version of it
 on my github page
  
   http://github.com/struberg/juel
  
   The original is on juel.sourceforge.net
  
   LieGrue,
   strub
  
  
   
   From: Jakob Korherr jakob.korh...@gmail.com
   To: MyFaces Development dev@myfaces.apache.org
   Sent: Wed, August 25, 2010 5:10:09 PM
   Subject: Re: EL method invocation performance
   
   Hi,
   
   Does this really have to happen at every method
 invocation or is this an
   implementation problem?
   
   If it is an implementation problem and can be circumvent
 in any way, I would
   contact the Glassfish and Tomcat developers about this ;)
   
   Regards,
   Jakob
   
   
   2010/8/25 Ivan xhh...@gmail.com
   
   How about trying the el api published by Geronimo ? it
 caches the
   ExpressionFactory to avoid the search action by default.
   
   
   2010/8/25 Martin Koci martin.k...@aura.cz
   
   
   Hi,
   
   this problem is not in myfaces but affects performance
 especially in
   render response phase:
   
   EL 2.2 introduces method invocation but if you try use
 it like
   rendered=#{bean.getRendered(param)} there is an
 unpleasant surprise:
   both implementations of BeanELResolver (Glassfish,
 Tomcat) use this
   construction during method invocation:
   
   ExpressionFactory exprFactory =
 ExpressionFactory.newInstance();
   
   That newInstance() always involves FactoryFinder
 mechanism, callstack
   then looks like :
   
  
 org.apache.catalina.loader.WebappClassLoader.findResourceInternal
   
 org.apache.catalina.loader.WebappClassLoader.findResource
   
 org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
 javax.el.FactoryFinder.find(String, String,
 Properties)
  javax.el.ExpressionFactory.newInstance(Properties)
   javax.el.ExpressionFactory.newInstance

Re: EL method invocation performance

2010-10-28 Thread Gerhard
@fixed juel: great!

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2010/10/28 Martin Koci martin.kocicak.k...@gmail.com

 Hi,
  hi martin,
 
 
  it would be nice to get more details about the juel issues.

 Christian fixed them promptly in JUEL's svn:


 http://sourceforge.net/tracker/?func=detailaid=3095122group_id=165179atid=834616


 http://sourceforge.net/tracker/?func=detailaid=3031783group_id=165179atid=834616


 Back to original topic: JUEL caches the ExpressionFactory instance and
 thus does not have discussed performance problem.


 
 
  regards,
  gerhard
 
  http://www.irian.at
 
  Your JSF powerhouse -
  JSF Consulting, Development and
  Courses in English and German
 
  Professional Support for Apache MyFaces
 
 
 
 
  2010/10/19 Martin Koci martin.kocicak.k...@gmail.com
  Hi,
 
  some news about EL method invocations:
 
  1)  Geronimo EL API implementation has this problem too:
  https://issues.apache.org/jira/browse/GERONIMO-5657
 
  2) UEL bug is still open:
  https://uel.dev.java.net/issues/show_bug.cgi?id=19
 
 
  3) JUEL doesn't not work for my test cases, for example it
  doesn't find
  some public methods so I cannot say if JUEL has this problem
  now.
 
 
  My today's recommedation (which can change tommorow) is: if
  you want EL
  method invocations without file asscess within
  (without /META-INF/services reading):
 
  A) apply GERONIMO-5657 patch to
 
 http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/and 
 build this EL-API
 
  B) use impl part from uel.dev.java.net as EL-impl or tomcat's
  EL impl
 
 
  Please note that uel.dev.java.net API suffers from classic
  leaking
  classloader problem too - it uses Class instance as key in
  static Map :
  see MYFACES-2942 for details. Maybe we should put a warning
  about these
  two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?
 
 
  Regards,
 
  Kocicak
 
  Martin Koci píše v St 25. 08. 2010 v 20:52 +0200:
 
   Hi,
  
   I'll try it but not today :) Optimization is my priority
  task for next
   few months and certainly I'll compare all four (or more?) EL
   implementations.
  
   Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
Martin, could you please give juel a quick try? Would be
  interested if if also
suffers from this problem.
   
You can find a slightly tweaked (bugfixed) version of it
  on my github page
   
http://github.com/struberg/juel
   
The original is on juel.sourceforge.net
   
LieGrue,
strub
   
   

From: Jakob Korherr jakob.korh...@gmail.com
To: MyFaces Development dev@myfaces.apache.org
Sent: Wed, August 25, 2010 5:10:09 PM
Subject: Re: EL method invocation performance

Hi,

Does this really have to happen at every method
  invocation or is this an
implementation problem?

If it is an implementation problem and can be circumvent
  in any way, I would
contact the Glassfish and Tomcat developers about this ;)

Regards,
Jakob


2010/8/25 Ivan xhh...@gmail.com

How about trying the el api published by Geronimo ? it
  caches the
ExpressionFactory to avoid the search action by default.


2010/8/25 Martin Koci martin.k...@aura.cz


Hi,

this problem is not in myfaces but affects performance
  especially in
render response phase:

EL 2.2 introduces method invocation but if you try use
  it like
rendered=#{bean.getRendered(param)} there is an
  unpleasant surprise:
both implementations of BeanELResolver (Glassfish,
  Tomcat) use this
construction during method invocation:

ExpressionFactory exprFactory =
  ExpressionFactory.newInstance();

That newInstance() always involves FactoryFinder
  mechanism, callstack
then looks like :

   
 
 org.apache.catalina.loader.WebappClassLoader.findResourceInternal

  org.apache.catalina.loader.WebappClassLoader.findResource

  org.apache.catalina.loader.WebappClassLoader.getResourceAsStream

Re: EL method invocation performance

2010-10-23 Thread Gerhard
hi martin,

it would be nice to get more details about the juel issues.

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces



2010/10/19 Martin Koci martin.kocicak.k...@gmail.com

 Hi,

 some news about EL method invocations:

 1)  Geronimo EL API implementation has this problem too:
 https://issues.apache.org/jira/browse/GERONIMO-5657

 2) UEL bug is still open:
 https://uel.dev.java.net/issues/show_bug.cgi?id=19

 3) JUEL doesn't not work for my test cases, for example it doesn't find
 some public methods so I cannot say if JUEL has this problem now.


 My today's recommedation (which can change tommorow) is: if you want EL
 method invocations without file asscess within
 (without /META-INF/services reading):

 A) apply GERONIMO-5657 patch to
 http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/and 
 build this EL-API

 B) use impl part from uel.dev.java.net as EL-impl or tomcat's EL impl


 Please note that uel.dev.java.net API suffers from classic leaking
 classloader problem too - it uses Class instance as key in static Map :
 see MYFACES-2942 for details. Maybe we should put a warning about these
 two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?


 Regards,

 Kocicak

 Martin Koci píše v St 25. 08. 2010 v 20:52 +0200:
  Hi,
 
  I'll try it but not today :) Optimization is my priority task for next
  few months and certainly I'll compare all four (or more?) EL
  implementations.
 
  Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
   Martin, could you please give juel a quick try? Would be interested if
 if also
   suffers from this problem.
  
   You can find a slightly tweaked (bugfixed) version of it on my github
 page
  
   http://github.com/struberg/juel
  
   The original is on juel.sourceforge.net
  
   LieGrue,
   strub
  
  
   
   From: Jakob Korherr jakob.korh...@gmail.com
   To: MyFaces Development dev@myfaces.apache.org
   Sent: Wed, August 25, 2010 5:10:09 PM
   Subject: Re: EL method invocation performance
   
   Hi,
   
   Does this really have to happen at every method invocation or is this
 an
   implementation problem?
   
   If it is an implementation problem and can be circumvent in any way, I
 would
   contact the Glassfish and Tomcat developers about this ;)
   
   Regards,
   Jakob
   
   
   2010/8/25 Ivan xhh...@gmail.com
   
   How about trying the el api published by Geronimo ? it caches the
   ExpressionFactory to avoid the search action by default.
   
   
   2010/8/25 Martin Koci martin.k...@aura.cz
   
   
   Hi,
   
   this problem is not in myfaces but affects performance especially in
   render response phase:
   
   EL 2.2 introduces method invocation but if you try use it like
   rendered=#{bean.getRendered(param)} there is an unpleasant
 surprise:
   both implementations of BeanELResolver (Glassfish, Tomcat) use this
   construction during method invocation:
   
   ExpressionFactory exprFactory = ExpressionFactory.newInstance();
   
   That newInstance() always involves FactoryFinder mechanism,
 callstack
   then looks like :
   
   org.apache.catalina.loader.WebappClassLoader.findResourceInternal
org.apache.catalina.loader.WebappClassLoader.findResource
org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
 javax.el.FactoryFinder.find(String, String, Properties)
  javax.el.ExpressionFactory.newInstance(Properties)
   javax.el.ExpressionFactory.newInstance()
javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])
   
   
   Always tries to locale factory implementation, that
   means /META-INF/services reading! This is not problem in myfaces,
 but
   users don't distinguish between JSF and EL well.
   
   Any ideas?
   
   Regards,
   
   Martin Kočí
   
   
 https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
   
   
   
 http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
   
   
   
   
   
   
   --
   Ivan
   
   
   
   --
   Jakob Korherr
   
   blog: http://www.jakobk.com
   twitter: http://twitter.com/jakobkorherr
   work: http://www.irian.at
   
  
  
  
  
 
 
 





Re: EL method invocation performance

2010-10-20 Thread Jakob Korherr
 Please note that uel.dev.java.net API suffers from classic leaking
 classloader problem too - it uses Class instance as key in static Map :
 see MYFACES-2942 for details. Maybe we should put a warning about these
 two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?

Huge +1 - please do so!

Regards,
Jakob

2010/10/20 Ivan xhh...@gmail.com:
 Hi, Martin, i committed your patch to geronimo-el-2.2 1.1-SNAPSHOT, and will
 publish a SNAPSHOT to the repository later, seems I got a slow network acess
 speed ...
 Thanks for pointing it out :-)

 2010/10/20 Martin Koci martin.kocicak.k...@gmail.com

 Hi,

 some news about EL method invocations:

 1)  Geronimo EL API implementation has this problem too:
 https://issues.apache.org/jira/browse/GERONIMO-5657

 2) UEL bug is still open:
 https://uel.dev.java.net/issues/show_bug.cgi?id=19

 3) JUEL doesn't not work for my test cases, for example it doesn't find
 some public methods so I cannot say if JUEL has this problem now.


 My today's recommedation (which can change tommorow) is: if you want EL
 method invocations without file asscess within
 (without /META-INF/services reading):

 A) apply GERONIMO-5657 patch to
 http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/
 and build this EL-API

 B) use impl part from uel.dev.java.net as EL-impl or tomcat's EL impl


 Please note that uel.dev.java.net API suffers from classic leaking
 classloader problem too - it uses Class instance as key in static Map :
 see MYFACES-2942 for details. Maybe we should put a warning about these
 two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?


 Regards,

 Kocicak

 Martin Koci píše v St 25. 08. 2010 v 20:52 +0200:
  Hi,
 
  I'll try it but not today :) Optimization is my priority task for next
  few months and certainly I'll compare all four (or more?) EL
  implementations.
 
  Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
   Martin, could you please give juel a quick try? Would be interested if
   if also
   suffers from this problem.
  
   You can find a slightly tweaked (bugfixed) version of it on my github
   page
  
   http://github.com/struberg/juel
  
   The original is on juel.sourceforge.net
  
   LieGrue,
   strub
  
  
   
   From: Jakob Korherr jakob.korh...@gmail.com
   To: MyFaces Development dev@myfaces.apache.org
   Sent: Wed, August 25, 2010 5:10:09 PM
   Subject: Re: EL method invocation performance
   
   Hi,
   
   Does this really have to happen at every method invocation or is this
an
   implementation problem?
   
   If it is an implementation problem and can be circumvent in any way,
I would
   contact the Glassfish and Tomcat developers about this ;)
   
   Regards,
   Jakob
   
   
   2010/8/25 Ivan xhh...@gmail.com
   
   How about trying the el api published by Geronimo ? it caches the
   ExpressionFactory to avoid the search action by default.
   
   
   2010/8/25 Martin Koci martin.k...@aura.cz
   
   
   Hi,
   
   this problem is not in myfaces but affects performance especially
in
   render response phase:
   
   EL 2.2 introduces method invocation but if you try use it like
   rendered=#{bean.getRendered(param)} there is an unpleasant
surprise:
   both implementations of BeanELResolver (Glassfish, Tomcat) use this
   construction during method invocation:
   
   ExpressionFactory exprFactory = ExpressionFactory.newInstance();
   
   That newInstance() always involves FactoryFinder mechanism,
callstack
   then looks like :
   
   org.apache.catalina.loader.WebappClassLoader.findResourceInternal
org.apache.catalina.loader.WebappClassLoader.findResource
org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
 javax.el.FactoryFinder.find(String, String, Properties)
  javax.el.ExpressionFactory.newInstance(Properties)
   javax.el.ExpressionFactory.newInstance()
    javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])
   
   
   Always tries to locale factory implementation, that
   means /META-INF/services reading! This is not problem in myfaces,
but
   users don't distinguish between JSF and EL well.
   
   Any ideas?
   
   Regards,
   
   Martin Kočí
   
  
https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
   
   
  
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
   
   
   
   
   
   
   --
   Ivan
   
   
   
   --
   Jakob Korherr
   
   blog: http://www.jakobk.com
   twitter: http://twitter.com/jakobkorherr
   work: http://www.irian.at
   
  
  
  
  
 
 
 





 --
 Ivan




-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at


Re: EL method invocation performance

2010-10-19 Thread Martin Koci
Hi, 

some news about EL method invocations:

1)  Geronimo EL API implementation has this problem too:
https://issues.apache.org/jira/browse/GERONIMO-5657

2) UEL bug is still open:
https://uel.dev.java.net/issues/show_bug.cgi?id=19

3) JUEL doesn't not work for my test cases, for example it doesn't find
some public methods so I cannot say if JUEL has this problem now.


My today's recommedation (which can change tommorow) is: if you want EL
method invocations without file asscess within
(without /META-INF/services reading):

A) apply GERONIMO-5657 patch to
http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/ and 
build this EL-API

B) use impl part from uel.dev.java.net as EL-impl or tomcat's EL impl


Please note that uel.dev.java.net API suffers from classic leaking
classloader problem too - it uses Class instance as key in static Map :
see MYFACES-2942 for details. Maybe we should put a warning about these
two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?


Regards,

Kocicak

Martin Koci píše v St 25. 08. 2010 v 20:52 +0200:
 Hi,
 
 I'll try it but not today :) Optimization is my priority task for next
 few months and certainly I'll compare all four (or more?) EL
 implementations.
 
 Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
  Martin, could you please give juel a quick try? Would be interested if if 
  also 
  suffers from this problem.
  
  You can find a slightly tweaked (bugfixed) version of it on my github page
  
  http://github.com/struberg/juel
  
  The original is on juel.sourceforge.net
  
  LieGrue,
  strub
  
  
  
  From: Jakob Korherr jakob.korh...@gmail.com
  To: MyFaces Development dev@myfaces.apache.org
  Sent: Wed, August 25, 2010 5:10:09 PM
  Subject: Re: EL method invocation performance
  
  Hi,
  
  Does this really have to happen at every method invocation or is this an 
  implementation problem?
  
  If it is an implementation problem and can be circumvent in any way, I 
  would 
  contact the Glassfish and Tomcat developers about this ;)
  
  Regards,
  Jakob
  
  
  2010/8/25 Ivan xhh...@gmail.com
  
  How about trying the el api published by Geronimo ? it caches the 
  ExpressionFactory to avoid the search action by default.
  
  
  2010/8/25 Martin Koci martin.k...@aura.cz
  
  
  Hi,
  
  this problem is not in myfaces but affects performance especially in
  render response phase:
  
  EL 2.2 introduces method invocation but if you try use it like
  rendered=#{bean.getRendered(param)} there is an unpleasant surprise:
  both implementations of BeanELResolver (Glassfish, Tomcat) use this
  construction during method invocation:
  
  ExpressionFactory exprFactory = ExpressionFactory.newInstance();
  
  That newInstance() always involves FactoryFinder mechanism, callstack
  then looks like :
  
  org.apache.catalina.loader.WebappClassLoader.findResourceInternal
   org.apache.catalina.loader.WebappClassLoader.findResource
   org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
javax.el.FactoryFinder.find(String, String, Properties)
 javax.el.ExpressionFactory.newInstance(Properties)
  javax.el.ExpressionFactory.newInstance()
   javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])
  
  
  Always tries to locale factory implementation, that
  means /META-INF/services reading! This is not problem in myfaces, but
  users don't distinguish between JSF and EL well.
  
  Any ideas?
  
  Regards,
  
  Martin Kočí
  
  https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
  
  
  http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
  
  
  
  
  
  
  -- 
  Ivan
  
  
  
  -- 
  Jakob Korherr
  
  blog: http://www.jakobk.com
  twitter: http://twitter.com/jakobkorherr
  work: http://www.irian.at
  
  
  

  
 
 
 




Re: EL method invocation performance

2010-10-19 Thread Ivan
Hi, Martin, i committed your patch to geronimo-el-2.2 1.1-SNAPSHOT, and will
publish a SNAPSHOT to the repository later, seems I got a slow network acess
speed ...
Thanks for pointing it out :-)

2010/10/20 Martin Koci martin.kocicak.k...@gmail.com

 Hi,

 some news about EL method invocations:

 1)  Geronimo EL API implementation has this problem too:
 https://issues.apache.org/jira/browse/GERONIMO-5657

 2) UEL bug is still open:
 https://uel.dev.java.net/issues/show_bug.cgi?id=19

 3) JUEL doesn't not work for my test cases, for example it doesn't find
 some public methods so I cannot say if JUEL has this problem now.


 My today's recommedation (which can change tommorow) is: if you want EL
 method invocations without file asscess within
 (without /META-INF/services reading):

 A) apply GERONIMO-5657 patch to
 http://svn.apache.org/repos/asf/geronimo/specs/trunk/geronimo-el_2.2_spec/and 
 build this EL-API

 B) use impl part from uel.dev.java.net as EL-impl or tomcat's EL impl


 Please note that uel.dev.java.net API suffers from classic leaking
 classloader problem too - it uses Class instance as key in static Map :
 see MYFACES-2942 for details. Maybe we should put a warning about these
 two issues at http://wiki.apache.org/myfaces/HowToEnableEl22 ?


 Regards,

 Kocicak

 Martin Koci píše v St 25. 08. 2010 v 20:52 +0200:
  Hi,
 
  I'll try it but not today :) Optimization is my priority task for next
  few months and certainly I'll compare all four (or more?) EL
  implementations.
 
  Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
   Martin, could you please give juel a quick try? Would be interested if
 if also
   suffers from this problem.
  
   You can find a slightly tweaked (bugfixed) version of it on my github
 page
  
   http://github.com/struberg/juel
  
   The original is on juel.sourceforge.net
  
   LieGrue,
   strub
  
  
   
   From: Jakob Korherr jakob.korh...@gmail.com
   To: MyFaces Development dev@myfaces.apache.org
   Sent: Wed, August 25, 2010 5:10:09 PM
   Subject: Re: EL method invocation performance
   
   Hi,
   
   Does this really have to happen at every method invocation or is this
 an
   implementation problem?
   
   If it is an implementation problem and can be circumvent in any way, I
 would
   contact the Glassfish and Tomcat developers about this ;)
   
   Regards,
   Jakob
   
   
   2010/8/25 Ivan xhh...@gmail.com
   
   How about trying the el api published by Geronimo ? it caches the
   ExpressionFactory to avoid the search action by default.
   
   
   2010/8/25 Martin Koci martin.k...@aura.cz
   
   
   Hi,
   
   this problem is not in myfaces but affects performance especially in
   render response phase:
   
   EL 2.2 introduces method invocation but if you try use it like
   rendered=#{bean.getRendered(param)} there is an unpleasant
 surprise:
   both implementations of BeanELResolver (Glassfish, Tomcat) use this
   construction during method invocation:
   
   ExpressionFactory exprFactory = ExpressionFactory.newInstance();
   
   That newInstance() always involves FactoryFinder mechanism,
 callstack
   then looks like :
   
   org.apache.catalina.loader.WebappClassLoader.findResourceInternal
org.apache.catalina.loader.WebappClassLoader.findResource
org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
 javax.el.FactoryFinder.find(String, String, Properties)
  javax.el.ExpressionFactory.newInstance(Properties)
   javax.el.ExpressionFactory.newInstance()
javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])
   
   
   Always tries to locale factory implementation, that
   means /META-INF/services reading! This is not problem in myfaces,
 but
   users don't distinguish between JSF and EL well.
   
   Any ideas?
   
   Regards,
   
   Martin Kočí
   
   
 https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
   
   
   
 http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
   
   
   
   
   
   
   --
   Ivan
   
   
   
   --
   Jakob Korherr
   
   blog: http://www.jakobk.com
   twitter: http://twitter.com/jakobkorherr
   work: http://www.irian.at
   
  
  
  
  
 
 
 





-- 
Ivan


Re: EL method invocation performance

2010-08-26 Thread Andy Schwartz
Gang -

Kin-man opened the following issue to track this on the GF/UEL side:

https://uel.dev.java.net/issues/show_bug.cgi?id=19

Andy


EL method invocation performance

2010-08-25 Thread Martin Koci
Hi,

this problem is not in myfaces but affects performance especially in
render response phase: 

EL 2.2 introduces method invocation but if you try use it like
rendered=#{bean.getRendered(param)} there is an unpleasant surprise:
both implementations of BeanELResolver (Glassfish, Tomcat) use this
construction during method invocation:

ExpressionFactory exprFactory = ExpressionFactory.newInstance();

That newInstance() always involves FactoryFinder mechanism, callstack
then looks like :

org.apache.catalina.loader.WebappClassLoader.findResourceInternal
 org.apache.catalina.loader.WebappClassLoader.findResource
 org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
   javax.el.FactoryFinder.find(String, String, Properties)
javax.el.ExpressionFactory.newInstance(Properties)
 javax.el.ExpressionFactory.newInstance()
  javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])


Always tries to locale factory implementation, that
means /META-INF/services reading! This is not problem in myfaces, but
users don't distinguish between JSF and EL well.

Any ideas? 

Regards,

Martin Kočí

https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java





Re: EL method invocation performance

2010-08-25 Thread Ivan
How about trying the el api published by Geronimo ? it caches the
ExpressionFactory to avoid the search action by default.

2010/8/25 Martin Koci martin.k...@aura.cz

 Hi,

 this problem is not in myfaces but affects performance especially in
 render response phase:

 EL 2.2 introduces method invocation but if you try use it like
 rendered=#{bean.getRendered(param)} there is an unpleasant surprise:
 both implementations of BeanELResolver (Glassfish, Tomcat) use this
 construction during method invocation:

 ExpressionFactory exprFactory = ExpressionFactory.newInstance();

 That newInstance() always involves FactoryFinder mechanism, callstack
 then looks like :

 org.apache.catalina.loader.WebappClassLoader.findResourceInternal
  org.apache.catalina.loader.WebappClassLoader.findResource
  org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
   javax.el.FactoryFinder.find(String, String, Properties)
javax.el.ExpressionFactory.newInstance(Properties)
 javax.el.ExpressionFactory.newInstance()
  javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])


 Always tries to locale factory implementation, that
 means /META-INF/services reading! This is not problem in myfaces, but
 users don't distinguish between JSF and EL well.

 Any ideas?

 Regards,

 Martin Kočí


 https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
 http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java






-- 
Ivan


Re: EL method invocation performance

2010-08-25 Thread Jakob Korherr
Hi,

Does this really have to happen at every method invocation or is this an
implementation problem?

If it is an implementation problem and can be circumvent in any way, I would
contact the Glassfish and Tomcat developers about this ;)

Regards,
Jakob

2010/8/25 Ivan xhh...@gmail.com

 How about trying the el api published by Geronimo ? it caches the
 ExpressionFactory to avoid the search action by default.

 2010/8/25 Martin Koci martin.k...@aura.cz

 Hi,

 this problem is not in myfaces but affects performance especially in
 render response phase:

 EL 2.2 introduces method invocation but if you try use it like
 rendered=#{bean.getRendered(param)} there is an unpleasant surprise:
 both implementations of BeanELResolver (Glassfish, Tomcat) use this
 construction during method invocation:

 ExpressionFactory exprFactory = ExpressionFactory.newInstance();

 That newInstance() always involves FactoryFinder mechanism, callstack
 then looks like :

 org.apache.catalina.loader.WebappClassLoader.findResourceInternal
  org.apache.catalina.loader.WebappClassLoader.findResource
  org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
   javax.el.FactoryFinder.find(String, String, Properties)
javax.el.ExpressionFactory.newInstance(Properties)
 javax.el.ExpressionFactory.newInstance()
  javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])


 Always tries to locale factory implementation, that
 means /META-INF/services reading! This is not problem in myfaces, but
 users don't distinguish between JSF and EL well.

 Any ideas?

 Regards,

 Martin Kočí


 https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java

 http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java






 --
 Ivan




-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at


Re: EL method invocation performance

2010-08-25 Thread Andy Schwartz
On Wed, Aug 25, 2010 at 11:10 AM, Jakob Korherr jakob.korh...@gmail.com wrote:

 If it is an implementation problem and can be circumvent in any way, I would
 contact the Glassfish and Tomcat developers about this ;)

+1.  I pinged Kin-man as a heads up on this...

Andy


Re: EL method invocation performance

2010-08-25 Thread Mark Struberg
Martin, could you please give juel a quick try? Would be interested if if also 
suffers from this problem.

You can find a slightly tweaked (bugfixed) version of it on my github page

http://github.com/struberg/juel

The original is on juel.sourceforge.net

LieGrue,
strub



From: Jakob Korherr jakob.korh...@gmail.com
To: MyFaces Development dev@myfaces.apache.org
Sent: Wed, August 25, 2010 5:10:09 PM
Subject: Re: EL method invocation performance

Hi,

Does this really have to happen at every method invocation or is this an 
implementation problem?

If it is an implementation problem and can be circumvent in any way, I would 
contact the Glassfish and Tomcat developers about this ;)

Regards,
Jakob


2010/8/25 Ivan xhh...@gmail.com

How about trying the el api published by Geronimo ? it caches the 
ExpressionFactory to avoid the search action by default.


2010/8/25 Martin Koci martin.k...@aura.cz


Hi,

this problem is not in myfaces but affects performance especially in
render response phase:

EL 2.2 introduces method invocation but if you try use it like
rendered=#{bean.getRendered(param)} there is an unpleasant surprise:
both implementations of BeanELResolver (Glassfish, Tomcat) use this
construction during method invocation:

ExpressionFactory exprFactory = ExpressionFactory.newInstance();

That newInstance() always involves FactoryFinder mechanism, callstack
then looks like :

org.apache.catalina.loader.WebappClassLoader.findResourceInternal
 org.apache.catalina.loader.WebappClassLoader.findResource
 org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
  javax.el.FactoryFinder.find(String, String, Properties)
   javax.el.ExpressionFactory.newInstance(Properties)
javax.el.ExpressionFactory.newInstance()
 javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])


Always tries to locale factory implementation, that
means /META-INF/services reading! This is not problem in myfaces, but
users don't distinguish between JSF and EL well.

Any ideas?

Regards,

Martin Kočí

https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java


http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java






-- 
Ivan



-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at






Re: EL method invocation performance

2010-08-25 Thread Martin Koci
Great! I thought that tomcat and geronimo EL implementation are from
same source; But just now I'm looking in geronimo code and
expressionFactory instance is cached - I'll definitely try it, thanks!


Ivan píše v St 25. 08. 2010 v 22:54 +0800:
 How about trying the el api published by Geronimo ? it caches the
 ExpressionFactory to avoid the search action by default.
 
 2010/8/25 Martin Koci martin.k...@aura.cz
 Hi,
 
 this problem is not in myfaces but affects performance
 especially in
 render response phase:
 
 EL 2.2 introduces method invocation but if you try use it like
 rendered=#{bean.getRendered(param)} there is an unpleasant
 surprise:
 both implementations of BeanELResolver (Glassfish, Tomcat) use
 this
 construction during method invocation:
 
 ExpressionFactory exprFactory =
 ExpressionFactory.newInstance();
 
 That newInstance() always involves FactoryFinder mechanism,
 callstack
 then looks like :
 
 org.apache.catalina.loader.WebappClassLoader.findResourceInternal
  org.apache.catalina.loader.WebappClassLoader.findResource
  org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
   javax.el.FactoryFinder.find(String, String, Properties)
javax.el.ExpressionFactory.newInstance(Properties)
 javax.el.ExpressionFactory.newInstance()
  javax.el.BeanELResolver.invokeMethod(Method, Object,
 Object[])
 
 
 Always tries to locale factory implementation, that
 means /META-INF/services reading! This is not problem in
 myfaces, but
 users don't distinguish between JSF and EL well.
 
 Any ideas?
 
 Regards,
 
 Martin Kočí
 
 
 https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
 
 http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
 
 
 
 
 
 
 -- 
 Ivan




Re: EL method invocation performance

2010-08-25 Thread Martin Koci
Now I'm sure that it is an implementation problem: it was very
suspicious that both Tomcat and Glassfish implementations have it - but
Geronimo does not have this problem.

Andy Schwartz píše v St 25. 08. 2010 v 11:38 -0400:
 On Wed, Aug 25, 2010 at 11:10 AM, Jakob Korherr jakob.korh...@gmail.com 
 wrote:
 
  If it is an implementation problem and can be circumvent in any way, I would
  contact the Glassfish and Tomcat developers about this ;)
 
 +1.  I pinged Kin-man as a heads up on this...
 
 Andy
 




Re: EL method invocation performance

2010-08-25 Thread Matthias Wessendorf
great,

I think Glassfish, Tomcat and JBoss do appreciate a bug report :-)

-Matthias

On Wed, Aug 25, 2010 at 8:43 PM, Martin Koci martin.k...@aura.cz wrote:
 Now I'm sure that it is an implementation problem: it was very
 suspicious that both Tomcat and Glassfish implementations have it - but
 Geronimo does not have this problem.

 Andy Schwartz píše v St 25. 08. 2010 v 11:38 -0400:
 On Wed, Aug 25, 2010 at 11:10 AM, Jakob Korherr jakob.korh...@gmail.com 
 wrote:

  If it is an implementation problem and can be circumvent in any way, I 
  would
  contact the Glassfish and Tomcat developers about this ;)

 +1.  I pinged Kin-man as a heads up on this...

 Andy







-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf


Re: EL method invocation performance

2010-08-25 Thread Martin Koci

Hi,

I'll try it but not today :) Optimization is my priority task for next
few months and certainly I'll compare all four (or more?) EL
implementations.

Mark Struberg píše v St 25. 08. 2010 v 17:52 +:
 Martin, could you please give juel a quick try? Would be interested if if 
 also 
 suffers from this problem.
 
 You can find a slightly tweaked (bugfixed) version of it on my github page
 
 http://github.com/struberg/juel
 
 The original is on juel.sourceforge.net
 
 LieGrue,
 strub
 
 
 
 From: Jakob Korherr jakob.korh...@gmail.com
 To: MyFaces Development dev@myfaces.apache.org
 Sent: Wed, August 25, 2010 5:10:09 PM
 Subject: Re: EL method invocation performance
 
 Hi,
 
 Does this really have to happen at every method invocation or is this an 
 implementation problem?
 
 If it is an implementation problem and can be circumvent in any way, I would 
 contact the Glassfish and Tomcat developers about this ;)
 
 Regards,
 Jakob
 
 
 2010/8/25 Ivan xhh...@gmail.com
 
 How about trying the el api published by Geronimo ? it caches the 
 ExpressionFactory to avoid the search action by default.
 
 
 2010/8/25 Martin Koci martin.k...@aura.cz
 
 
 Hi,
 
 this problem is not in myfaces but affects performance especially in
 render response phase:
 
 EL 2.2 introduces method invocation but if you try use it like
 rendered=#{bean.getRendered(param)} there is an unpleasant surprise:
 both implementations of BeanELResolver (Glassfish, Tomcat) use this
 construction during method invocation:
 
 ExpressionFactory exprFactory = ExpressionFactory.newInstance();
 
 That newInstance() always involves FactoryFinder mechanism, callstack
 then looks like :
 
 org.apache.catalina.loader.WebappClassLoader.findResourceInternal
  org.apache.catalina.loader.WebappClassLoader.findResource
  org.apache.catalina.loader.WebappClassLoader.getResourceAsStream
   javax.el.FactoryFinder.find(String, String, Properties)
javax.el.ExpressionFactory.newInstance(Properties)
 javax.el.ExpressionFactory.newInstance()
  javax.el.BeanELResolver.invokeMethod(Method, Object, Object[])
 
 
 Always tries to locale factory implementation, that
 means /META-INF/services reading! This is not problem in myfaces, but
 users don't distinguish between JSF and EL well.
 
 Any ideas?
 
 Regards,
 
 Martin Kočí
 
 https://uel.dev.java.net/svn/uel/trunk/api/src/main/java/javax/el/BeanELResolver.java
 
 
 http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java
 
 
 
 
 
 
 -- 
 Ivan
 
 
 
 -- 
 Jakob Korherr
 
 blog: http://www.jakobk.com
 twitter: http://twitter.com/jakobkorherr
 work: http://www.irian.at