myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Struberg (JIRA)" <>
Subject [jira] [Commented] (MYFACES-3863) Possible performance enchanchment in postback lifecycle processing
Date Mon, 03 Mar 2014 07:19:21 GMT


Mark Struberg commented on MYFACES-3863:

Agree with Leo. Usually the performance issues don't come from the JSF container itself but
from expensive calls to backing beans or tons of complex EL expressions. I have really huge
and pretty complex pages with 1600 rows in a h:dataTable and they still render in below 200ms
(for the whole page).
Try to use a profiler like YourKit and count the invocations to your backing beans and you
will be surprised. If those operations are dirt cheyp, then you will not have much issue.
If they operate against the db without using some init in a preRenderView phase, then this
might be the bummer.

> Possible performance enchanchment in postback lifecycle processing
> ------------------------------------------------------------------
>                 Key: MYFACES-3863
>                 URL:
>             Project: MyFaces Core
>          Issue Type: Improvement
>            Reporter: Karl Trumstedt
>            Assignee: Leonardo Uribe
>            Priority: Minor
> Hello,
> I've been looking and reading a lot about JSF's lifecycle. I'm no expert in any sense
and have not fully grasped what happens in each phase.
> I have debugged our application and seen how much time is spent in each cycle. For larger
pages it can be quite a lot (500 ms for each APPLY, VALIDATION, UPDATE). Even for smaller
pages there can be ~10-20ms in the cycle when posting to the server. As far as I have gathered,
the component tree is traversed for each of these cycles. For us, every ms counts :)
> Now, my application doesn't use the JSF validation framework. There isn't any <f:validator>
stuff anywhere. For me, I don't see that I need to execute that phase, ever. So I would like
to turn off that phase. But even better, maybe when parsing the XHTML facelet (or constructing
the view or something), couldn't the UIViewRoot have information on if there are any <f:validator>
stuff on the page? If not, it could skip the validation phase completely? 
> As I said, I don't fully grasp what's happening behind the scenes so maybe something
else would stop working? And maybe the validation phase does more the execute <f:validator>
> I realize this scenario might be special since we don't use the <f:validator> stuff,
we reuse our own legacy validation framework, but there still could be pages in a regular
JSF application with lots of components (big tables etc) and no validation (or custom validation).
Any pointers for how I could patch and skip the validation phase myself would be nice:)
> Thanks

This message was sent by Atlassian JIRA

View raw message