Разделы

3.2. Резервация памяти

s4g во время своей инициализации производит первоначальную резервацию памяти для всех необходимых (в начальном положении) данных, дополнительное расширение памяти происходит по ходу работы виртуальной машины.

Определение значений этих данных может сыграть значительную роль в производительности.

Вся информация и дефайны для резервации находятся в файле s4g.h:

//резерв элементов для переменных
#define S4G_RESERVE_VALUE 1000      
//резерв памяти элементов для переменных
#define S4G_RESERVE_VALUE_MEM 1000  

//резерв элементов для данных
#define S4G_RESERVE_DATA 1000       
//резерв памяти элементов для данных
#define S4G_RESERVE_DATA_MEM 1000   

//резерв элементов блоков
#define S4G_RESERVE_BLOCKS 10       
//резерв элементов блоков
#define S4G_RESERVE_BLOCKS_MEM 100  
//резерв элементов для контекстов
#define S4G_RESERVE_CONTEXTS 100        
//количество создаваемых контекстов на каждый случай нехватки
#define S4G_ADD_MEM_CONTEXTS 8      
//резерв памяти элементов для контекстов
#define S4G_RESERVE_CONTEXTS_MEM 100    

//резерв памяти элементов для строк
#define S4G_RESERVE_STRING_MEM 100  

//резерв памяти элементов для скриптовых функций
#define S4G_RESERVE_SFUNC_MEM 100   

//резерв памяти элементов для таблиц
#define S4G_RESERVE_TABLE_MEM 100   
//на сколько элементов будет резервироваться место в таблицах
#define S4G_RESERVE_TABLE_ELEM 8