Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-21 Thread Martin Marinschek
Hi guys, I didn´t follow this in absolute detail anymore right now, but: I do not think we should think about serializing MethodExpressions or ValueExpressions - IMHO, MethodExpressions or ValueExpressions should never be part of the partial state, cause a user will never change them

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-21 Thread Marius Petoi
Hi Martin, On Wed, Jul 21, 2010 at 10:58 AM, Martin Marinschek mmarinsc...@apache.orgwrote: Hi guys, I didn´t follow this in absolute detail anymore right now, but: I do not think we should think about serializing MethodExpressions or ValueExpressions - IMHO, MethodExpressions or

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-21 Thread Martin Marinschek
Hi Marius, -- Take for instance MethodExpressionActionListener. This is an example where a MethodExpression is part of the state. then this should (and needs to be changed), right? Additionally, ValueExpression and MethodExpression are not implemented by us, so how can you implement

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-21 Thread Leonardo Uribe
Hi Marius It seems the optimization for ValueExpression / MethodExpression or ValueBinding / MethodBinding is not worth. The test data you provided shows a small improvement, but it does not take into account PartialStateHolder instances needs to be wrapped before save, so in the end the

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-15 Thread Marius Petoi
Hi Leonardo, On Thu, Jul 15, 2010 at 8:38 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius 2010/7/13 Marius Petoi marius.pe...@codebeat.ro Hi Leonardo, I corrected the things you required in the JIRA issues. When you have the time, please have a look over them. See inline my comments

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-14 Thread Leonardo Uribe
Hi Marius 2010/7/13 Marius Petoi marius.pe...@codebeat.ro Hi Leonardo, I corrected the things you required in the JIRA issues. When you have the time, please have a look over them. See inline my comments and questions: On Sun, Jul 11, 2010 at 3:57 AM, Leonardo Uribe lu4...@gmail.com wrote:

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-13 Thread Marius Petoi
Hi Leonardo, I corrected the things you required in the JIRA issues. When you have the time, please have a look over them. See inline my comments and questions: On Sun, Jul 11, 2010 at 3:57 AM, Leonardo Uribe lu4...@gmail.com wrote: Hi Sorry for the late response, but I was looking other

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-10 Thread Leonardo Uribe
Hi Sorry for the late response, but I was looking other important issues (I usually review issues with JSR-314 component first). I reviewed your patches and I committed some of them, and made comments on the others. On the other hand, regarding serialization vs implements PartialStateHolder,

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-09 Thread Marius Petoi
Hello, I created a JIRA ticket with a patch that removes the CompositeComponentResourceTagH andler.ATTACHED_OBJECT_HADLERS_KEY from the component attributes map. Instead it creates a map with the attached object handlers indexed by the component reference. The JIRA ticket is:

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-06 Thread Marius Petoi
Hello, So, I am not sure what you mean by map with the Reference of the component as the key...is it a map in which the keys are java.lang.ref.Reference objects? And if so, what kind of references should I use? On the other hand, regarding serialization vs implements PartialStateHolder, I've

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-07-06 Thread Martin Marinschek
Hi Marius, So, I am not sure what you mean by map with the Reference of the component as the key...is it a map in which the keys are java.lang.ref.Reference objects? And if so, what kind of references should I use? I meant you just put the component itself as a key there. On the other hand,

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-30 Thread Martin Marinschek
Sent from my phone, so very short: problem here is since this call occur in build time, we can't call getClientId() (it will cause problems because the parent for most components is null in this stage), so use a external map here Why not use the Reference of the component as the key? Over

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-30 Thread Leonardo Uribe
Hi In some parts, facelets uses objects like the one before that are serialized instead implements StateHolder or PartialStateHolder. It could be good to know which strategy is better (serialization or implements PartialStateHolder) and check in which cases it is worth to do it. One example

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-29 Thread Marius Petoi
Hi Leonardo, Thank you again for your response! On Mon, Jun 28, 2010 at 11:15 PM, Leonardo Uribe lu4...@gmail.com wrote: Hi Marius 2010/6/28 Marius Petoi marius.pe...@codebeat.ro Hello, After looking more to the attributes of the components, here's what I've found regarding state

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-28 Thread Marius Petoi
Hello, I created a ticket and attached a patch for removing the MARK_DELETED attribute from the component. The JIRA ticket is: https://issues.apache.org/jira/browse/MYFACES-2774. Please have a look over it and tell me whether I should modify anything. Regards, Marius On Fri, Jun 25, 2010 at

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-28 Thread Marius Petoi
Hello, After looking more to the attributes of the components, here's what I've found regarding state saving: ErrorPageWriter.VISITED_FACET_COUNT - used in the debug page for displaying facet components. It is recalculated at each request, so it is not necessary in the state. My suggestion would

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-28 Thread Leonardo Uribe
Hi Marius 2010/6/28 Marius Petoi marius.pe...@codebeat.ro Hello, After looking more to the attributes of the components, here's what I've found regarding state saving: ErrorPageWriter.VISITED_FACET_COUNT - used in the debug page for displaying facet components. It is recalculated at each

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-25 Thread Marius Petoi
Hello, Thank you for the explanations! So, as I see here, it is ok to remove the org.apache.myfaces.view.facelets.MARK_DELETED attribute from the partial state and include it in the FaceletContext (as a list of components that are marked for deletion). Regards, Marius On Fri, Jun 25, 2010 at

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-24 Thread Marius Petoi
Hello, As you said, Martin, the attribute org.apache.myfaces.view.facelets.APPLIED is included in the partial state. This, as well as all the other attributes of the components, as the attributeMap in the UIComponentBase is a _ComponentAttributesMap. The put method of this map calls afterwards

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-24 Thread Leonardo Uribe
Hi The param org.apache.myfaces.view.facelets.APPLIED is used with the web config param javax.faces.FACELETS_REFRESH_PERIOD, to detect changes on the template files. If you set this param to 0, facelets stops to add it and your state size is reduced, so that configuration must be used in

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-24 Thread Martin Marinschek
Hi Leonardo, The param org.apache.myfaces.view.facelets.APPLIED is used with the web config param javax.faces.FACELETS_REFRESH_PERIOD, to detect changes on the template files. If you set this param to 0, facelets stops to add it and your state size is reduced, so that configuration must be

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-24 Thread Leonardo Uribe
Hi Martin 2010/6/24 Martin Marinschek mmarinsc...@apache.org Hi Leonardo, The param org.apache.myfaces.view.facelets.APPLIED is used with the web config param javax.faces.FACELETS_REFRESH_PERIOD, to detect changes on the template files. If you set this param to 0, facelets stops to add

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-23 Thread Martin Marinschek
Hi Marius, I think you will easily find out candidates for a better implementation - just take a look at the partial state of any of the components. Something that comes immediately to my mind is facelets.MARK_APPLIED - this is only relevant in request-scope, but is currently in the partial

[GSOC] State saving performance improvements in MyFaces 2.0

2010-06-18 Thread Marius Petoi
Hello, In order to study the current performance of state saving, I designed a small page that I included in the examples for MyFaces 2.0. Also, I wrote 2 phase listeners that determine the length of the state saved in the ExternalContext before the render response phase and before the restore

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-06-18 Thread Leonardo Uribe
Hi I think the key classes are UIComponentBase , _DeltaStateHelper and _DeltaList. Take a look at UIComponentBase.saveState() and UIComponentBase.restoreState(). Those methods have calls to other methods that are critical to state saving. I remember UIViewRoot has other methods too. I think check

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-04-08 Thread Marius Petoi
Hi Martin, Thank you for your feedback. I added some more things to the proposal. I have a question though, when you studied performance what webapp did you use? Is there any example test or should I do one? Regards, Marius On Tue, Apr 6, 2010 at 3:26 PM, Martin Marinschek

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-04-08 Thread Martin Marinschek
Hi Marius, I didn´t actually do it - it was Ryan who collected some numbers for Mojarra. So you would have to devise a sample app yourself. It should contain basic input components, and definitively a table-show case. best regards, Martin On Thu, Apr 8, 2010 at 10:01 AM, Marius Petoi

[GSOC] State saving performance improvements in MyFaces 2.0

2010-04-06 Thread Marius Petoi
Hello, I would be interested in applying for the GSOC project https://issues.apache.org/jira/browse/MYFACES-2634 regarding state saving performance improvements in MyFaces 2.0. I have already written a proposal and updated it on the MyFaces wiki:

Re: [GSOC] State saving performance improvements in MyFaces 2.0

2010-04-06 Thread Martin Marinschek
Hi Marius, thanks. Good that you want to take this up - I would be glad to mentor your proposal. Two things: I think you have to work a bit more on the depth of your proposal - so you could describe state-saving more thoroughly, and you could explain what exactly you might want to take a look