1 (2022-09-28 16:52:02 отредактировано Serg_)

Тема: Lua - утечка памяти ?

Подскажите, что это за потребление памяти, которое отображается в Квике ?

Запускаю такой код:


function my_callback_(source_, code_class, code_paper, interval_)

message(code_class .. ":" .. code_paper .. ":" .. tostring(source_:C(source_:Size()))   .. "/" ..  interval_ )

end



function main()




---------------------------------------------------------------------------------------------------------------------------------

local code_class = "TQBR"
local code_paper = "SBER"


local my_table_data_source, Error = CreateDataSource(code_class, code_paper, INTERVAL_M10)


if my_table_data_source == nil then 
message('Ошибка подключения: '..Error) --ошибка
end


------------------------------
my_table_data_source:SetUpdateCallback(function(idx)my_callback_(my_table_data_source, code_class, code_paper, "INTERVAL_M10") end)
------------------------------


   while not stopped do 
sleep(1)
    end 


end

https://i.ibb.co/hCfRm2x/quik.jpg

Что вот это за память 39.30 Кb, которая каждый раз увеличивается, как вызывается callback ?

2

Re: Lua - утечка памяти ?

если в процессе написания кода вы увидите, что потребление памяти возросло многократно, то что-то вы не правильно сделали и нужно оптимизировать код.

3

Re: Lua - утечка памяти ?

Не совсем понятно: в чем именно вопрос?
Это память, занимаемая внутренними данными виртуальной машины Lua.
Увеличивается с каждым вызовом, т.к. растет размер внутренних структур Lua, например, количество свечей в используемом в скрипте source_:C()

Вас точно волнуют килобайты? wink