Дело бы вечером, делать было нечего.
---------------
Предположим, что у Вас есть большая таблица в терминале QUIK.
------------------------
Например, у меня получилась такая таблица "orders"
В ней 227 тысяч строк.
-------------------------
И Вы хотите пробежать по строкам и найти строку с нужными вам параметрами
для этого Вы пишите такой цикл:
-----------------------
для контроля добавим два оператора
первый для замера расхода памяти
и второй для вывода результата в лог файл
получится так
А теперь вопрос знатокам, в ответ не подглядывать.
Сколько памяти займет данный цикл пробега по строкам таблицы заявок, в которой 227 строк.
-----------------------------
Уверен, что Вы даже не представляете себе это .
==================
Ответ на поставленный вопрос в лог файле
посмотрели 1-ю строку, заняли память 121 КБ
посмотрели 100-ю строку, заняли память 654 КБ
посмотрели 1000-ю строку, заняли память 5395 КБ т е округленно 5 МБ
ну и когда посмотрели последнюю 227851 строку, заняли память 1205 952 КБ т е округленно 1.2 ГБ
Вот так Lua в QUIK кушает память.
И в этом случае мы просто нашли нужную нам заявку в таблице заявок.
-------------------------------------------------------
Угадайте, как с этим бороться?
---------------
Предположим, что у Вас есть большая таблица в терминале QUIK.
------------------------
Например, у меня получилась такая таблица "orders"
В ней 227 тысяч строк.
-------------------------
И Вы хотите пробежать по строкам и найти строку с нужными вам параметрами
для этого Вы пишите такой цикл:
-----------------------
Код |
---|
local N= getNumberOf("orders"); local j=1; while N>=j do local z=getItem("orders",jz-1) jz=jz+1; end |
первый для замера расхода памяти
и второй для вывода результата в лог файл
получится так
Код |
---|
local N= getNumberOf("orders"); local j=1; while N>=j do local mem=math.floor(collectgarbage ("count")) local z=getItem("orders",jz-1) Log:write(tostring(jz)..","..tostring(mem).."\n"); jz=jz+1; end |
Сколько памяти займет данный цикл пробега по строкам таблицы заявок, в которой 227 строк.
-----------------------------
Уверен, что Вы даже не представляете себе это .
==================
Ответ на поставленный вопрос в лог файле
посмотрели 1-ю строку, заняли память 121 КБ
Код |
---|
1,121 |
Код |
---|
100,654 |
Код |
---|
1000,5395 |
Код |
---|
227851,1205952 |
И в этом случае мы просто нашли нужную нам заявку в таблице заявок.
-------------------------------------------------------
Угадайте, как с этим бороться?