Интересен алгоритм использования памяти.
Ниже простой скрипт, который при каждом расчёте обращается к функции "getInfoParam". При запуске, в столбце "Память, КБ" = 41.04, и, с каждым новым расчётом, затраченная память увеличивается: 41.04, 41.07, 41.11...
Почему происходит увеличение используемой памяти, ведь данные не накапливаются?
Заметил, что в скриптах память увеличивается до определённого предела (примерно в 2 раза больше, чем при старте) затем сбрасывается до начального размера.
Возможно, где-то уже это обсуждалось, но не нашёл.
Ниже простой скрипт, который при каждом расчёте обращается к функции "getInfoParam". При запуске, в столбце "Память, КБ" = 41.04, и, с каждым новым расчётом, затраченная память увеличивается: 41.04, 41.07, 41.11...
Почему происходит увеличение используемой памяти, ведь данные не накапливаются?
Заметил, что в скриптах память увеличивается до определённого предела (примерно в 2 раза больше, чем при старте) затем сбрасывается до начального размера.
Возможно, где-то уже это обсуждалось, но не нашёл.
Код |
---|
function OnInit() -- Функция вызывается терминалом QUIK перед вызовом функции main(). is_run = true return end -- выход из функции: OnInit() function main() -- Функция, реализующая основной поток выполнения в скрипте. Для ее выполнения терминал QUIK создает отдельный поток. while is_run do -- повторяющийся цикл, пока is_run = true ScriptTimeStart = getInfoParam("SERVERTIME") -- Время начала расчёта скрипта sleep(1000) end -- выход из цикла: повторяющийся цикл, пока is_run = true return end -- выход из функции: main() function OnStop() -- Функция вызывается терминалом QUIK при остановке скрипта из диалога управления и при закрытии терминала QUIK. is_run = false return end |