|View Issue Details [ Jump to Notes ] ||[ Issue History ] [ Print ] |
|ID||Project||Category||View Status||Date Submitted||Last Update|
|08928||Feature requests||[All Projects] Expression Manager||public||2014-04-01 20:19||2015-02-22 14:30|
|Assigned To|| |
|Product Version|| |
|Target Version||Fixed in Version|| |
|Summary||08928: improve memory footprint|
|Description||LimeExpressionManager 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 Information||Is 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?
|Tags||No tags attached.|