Hi Mike I have been doing some profiling with YourKit profiler, and I have seen that with the patch already applied in trunk we avoid load around 400 classes at startup in the hello world application, which is about 20 renderers.
The solution will not have any side effects, because it is automatically disabled if the environment requires to do so. I'm doing some tests with Google Application Engine, to see how far can we reduce the cold start time. It is hard, because JSF is quite big and complex, but the idea is find ways to reduce the startup time, and the patch seems to help a bit. regards, Leonardo Uribe 2013/11/2 Mike Kienenberger <[email protected]> > I'm guessing this isn't that big a deal if you're only using the > standard JSF libraries. How many renderers are we talking about? > > I suppose it might be an issue if you have a project that include > bunch of JSF libraries. > > On Fri, Nov 1, 2013 at 9:38 PM, Leonardo Uribe (JIRA) > <[email protected]> wrote: > > Leonardo Uribe created MYFACES-3815: > > --------------------------------------- > > > > Summary: Lazy instantiation of Renderer classes > > Key: MYFACES-3815 > > URL: https://issues.apache.org/jira/browse/MYFACES-3815 > > Project: MyFaces Core > > Issue Type: Improvement > > Components: JSR-344 > > Reporter: Leonardo Uribe > > Assignee: Leonardo Uribe > > > > > > The initialization algorithm create all Renderer instances at startup > time. The side effect is a lot of classes are loaded into permgen memory > without need. > > > > With a clever trick we can avoid that, providing a custom interfaces > LazyRenderKit and making html basic renderkit implements it. Then, in the > init code we check for that interface and if is present, we use it to > register the Renderer in a lazy way, otherwise we use the standard form. > Add the required method to RenderKit looks like a good idea for include it > in the spec. > > > > > > > > -- > > This message was sent by Atlassian JIRA > > (v6.1#6144) >
