diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-2FAB8281-569A-52BE-8BC8-A2D378068706.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-2FAB8281-569A-52BE-8BC8-A2D378068706.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,45 @@ + + + + + +Caching +

In Symbian OS v9.3 and earlier, index entries were stored in a single index +file in a permanent file store and the entire file was loaded into RAM on +start up. In Symbian^3 index entries are stored in an SQL database and only +the most recently used index entries are cached in RAM.

+

The following figure shows how a client request is completed using the +cache functionality in the Message Server.

+ + Caching architecture + + +
Creating and +maintaining free space in memory

Memory allocation to the cache +is done incrementally, to reduce the Message Server start up time. When the +Message Server starts, only a percentage of the maximum cache size (MsvMaximumCacheSize) +is allocated to cache. The percentage is specified by the MsvInitialCacheCreation parameter. +The next iteration of memory allocation is not initiated until the memory +threshold (set using the MsvCacheThreshold parameter) is +reached. The subsequent memory allocation is always done by a low priority +active object.

Example

The memory allocation strategy +is illustrated in the following figures, based on the default values (shown +in the preceding table).

When Message Server starts, the cache is +created with an initial size of 410KB (40 percent of 1024KB). If 70 percent +of the free space in the cache gets used the server allocates an additional +205KB (20 percent of 1024).

+ +

Message Server can make two further 205KB allocations which it does +as use reaches 70 percent of the memory already allocated.

+ +

If more than 70 percent of the first two allocated memory chunks +is used, an additional 20 percent of memory is added to the free space.

+ +
+
\ No newline at end of file