View Issue Details

IDProjectCategoryView StatusLast Update
08928Feature requests[All Projects] Expression Managerpublic2015-02-22 14:30
ReporterTMSWhiteAssigned To 
Status newResolutionopen 
Product Version 
Target VersionFixed in Version 
Summary08928: improve memory footprint
DescriptionLimeExpressionManager is implemented as a Singleton, and the entire LEM object *(which contain an embedded ExpressionManager object) is serialized within $_SESSION. This can take up a lot of memory for large surveys, and can affect performance.
Additional InformationIs the serialization really needed, or can Yii properly handle LEM session persistence? (e.g. keep the unserialized LEM instance in $_SESSION, but not both the serialized and unserialized versions)? Does Yii have even better ways of managing this situation?

The original motivation for creating LEM as a singleton was that initialization of LEM was time consuming. Does Yii have a better way to manage a single instance of LEM than the current (pre-Yii) approach?

Does this concern about the time to build the LEM singleton still hold (especially now the Question objects are used), or would it make sense not to hold onto LEM in $_SESSION at all?

If some, but not all, of LEM's data should be held in $_SESSION (e.g. to avoid re-querying the database to re-build the survey instance), how much of a memory savings is likely to be achievable?
TagsNo tags attached.


related to 09522 new Development  Move $_SESSION['LEMsingleton'] to a Global Cache 


There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2014-04-01 20:19 TMSWhite New Issue
2015-02-22 14:30 DenisChenu Relationship added related to 09522