myfaces-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Myfaces Wiki] Update of "GSoC2010_StateSavingPerformanceImprovements" by Marius Petoi
Date Tue, 06 Apr 2010 08:48:56 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Myfaces Wiki" for change notification.

The "GSoC2010_StateSavingPerformanceImprovements" page has been changed by Marius Petoi.
http://wiki.apache.org/myfaces/GSoC2010_StateSavingPerformanceImprovements?action=diff&rev1=8&rev2=9

--------------------------------------------------

  == Description ==
  
  In JSF 2.0 there is the possibility to partially save the state of the page in the External''''''Context.
This means that at the first request the entire state is saved, but afterwards only the differences
from this are saved. MyFaces2 introduces the “State''''''Management''''''Strategy”, which
is an interface for strategies used for saving and respectively loading the view. The default
MyFaces strategy implemented so far, upon saving the view checks whether there has been a
previously saved view. If so, it saves just the differences between the old state and the
new, actual state. If not, the entire state is saved in the external context request map.
+ 
  At the moment, the saved state contains the component tree together with properties for
each component (a list of its children and facets, together with the list of listeners, the
behaviours map, etc). Every component is responsible for creating its own “state” object,
which is afterwards included in the parent’s state object. In the end, the “state” of
the UI''''''View''''''Root and the tree of components is saved in the External''''''Context.
+ 
  Upon restore, the UI''''''View''''''Root is constructed using the information stored in
the External''''''Context.
+ 
  This project is intended to take a deeper look into what exactly is saved at the moment.
The saved state should be analyzed and see whether anything can be skipped. For this, memory
profiling should be done and see which part of the saved state occupies the most memory. Afterwards,
we should see how much of this is really used and what can be dismissed.
+ 
  For each component type, we should see whether the “saveState” and “loadState” methods
can be improved, reducing the amount of information saved. A good example of this is the table
component, which at the moment does not handle partial view state saving at all.
+ 
  In the end, after all the improvements will have been implemented, the memory profiling
should be done again and see how much the gain was.
  
  == Criteria ==
@@ -61, +66 @@

  
  === Background ===
  I graduated the Politehnica University Timisoara, Romania, Department of Computer Science
having the highest average mark on the class of 2008. At the moment, I am a student in the
2nd year at the master programme “Advanced Computer Systems”.
+ 
  I am a big open source fan and supporter. At this moment I consider myself as warming up
my personal open source progress. 
  Since September 2009, I have been working for Codebeat, the subsidiary of IRIAN, which is
the main contributor in the Apache MyFaces project. At Apache MyFaces, other than providing
some patches, I've worked on developing a new skinning module based on the skinning from Trinidad.
Also, I started writing a new set of layouting components for JSF 2.0.
  I am a Trinidad contributor, provided several patches made several bug fixes.
- Commitments:
+ 
+ === Commitments ===
  I will graduate in June and I have only the dissertation thesis in June. I already started
my dissertation thesis, it is almost finished, so there will be no problems with my commitment
for Google Summer of Code.
+ 
  Currently, I am working full time, but the company I am working for supports me with this
project and are directly involved with MyFaces.
  I guarantee that, I can work 30 hours a week on my project. 
  

Mime
View raw message