MemoryParams::InitialDynamicLimit

MemoryParams::InitialDynamicLimit
unsigned InitialDynamicLimit;
Description

An initial limit of the heap (by default it is equal to INITIAL_DYNAMIC_LIMIT (128K)). This is the limit when OnExceedLimit will be invoked first time, even if Desc.Limit is set to a higher value. Desc.Limit will be used as an 'user limit', meaning the limit when Collect will be enforced. But even if Desc.Limit is not set or not reached yet the OnExceedLimit still may call Collect in the case when size of new allocations exceeds current memory footprint * HeapLimitMutliplier (which is likely for low HeapLimitMutliplier value and/or for complex content at the start). To prevent these Collect calls the value of the 'InitialDynamicLimit' can be set to higher value (for example, equal to Heap.Limit). The downside of the higher value of 'InitialDynamicLimit' is higher memory consumption at the start; the benefit - faster execution due to less calls to Collect.