[ 
https://issues.apache.org/jira/browse/TRINIDAD-1356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthias Weßendorf resolved TRINIDAD-1356.
------------------------------------------

       Resolution: Fixed
    Fix Version/s:  1.2.11-core
         Assignee: Matthias Weßendorf

Thanks to Blake Sullivan for his patch

> Application of changes by the ChangeManager is extremely slow
> -------------------------------------------------------------
>
>                 Key: TRINIDAD-1356
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1356
>             Project: MyFaces Trinidad
>          Issue Type: Improvement
>    Affects Versions: 1.2.10-core
>         Environment: All
>            Reporter: Blake Sullivan
>            Assignee: Matthias Weßendorf
>             Fix For:  1.2.11-core
>
>         Attachments: JIRA_1356_12101_b.patch
>
>   Original Estimate: 96h
>  Remaining Estimate: 96h
>
> Now that the SessionChangeManager applies all of the changes at the end of 
> the RichDocument's tag processing, change application is extremely slow.  
> This is because the ChangeManager needs to call invokeOnComponent for each 
> change and there is no removal of duplicate changes.  Since many components 
> add a new attribute change every time the component is 
> manipulated--splitters, disclosure components, tables, etc.  The 
> SessionChangeManager overhead becomes higher and higher the more time that 
> the user spends interacting with the page.  The solution is to collapse the 
> most common changes--attribute changes--together to decrease the number of 
> changes that need to be applied on each request.  (Another fix would be 
> avoiding application of changes where the component state already includes 
> the change).  The complicating factor in collapsing changes is that the 
> MoveChildComponentChange can cause the clientId of a component to be modified 
> so that the current clientId of the component doesn't match the clientId that 
> an earlier change was recorded against.  The solution to this problem is to 
> track the MoveChildComponentChanges and build a mapping table to Map current 
> clientIds to earlier clientIds as we iterate through the change list looking 
> for matches.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to