<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Утечка памяти]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Утечка памяти форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Wed, 22 Apr 2026 05:15:27 +0300</pubDate>
		<item>
			<title>Утечка памяти</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51799/topic6112/">Утечка памяти</a></b> <i>Происходит утечка памяти</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Есть такая &quot;особенность&quot;:<br />Вызов С функции форсирует более агрессивный режим работы сборщика мусора. Если код содержит много циклов с формированием локальных переменных, то мусор неохотно убирается.<br /><br />Конструкция такого вида помогает, вместо прямого вызова сборщика.<br /> &nbsp; &nbsp; &nbsp; &nbsp;_G.SearchItems(&#39;money_limits&#39;, 0, 0, empty_func, &quot;currcode&quot;) <br />
			<i>15.01.2021 19:26:00, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51799/topic6112/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51799/topic6112/</guid>
			<pubDate>Fri, 15 Jan 2021 19:26:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51576/topic6112/">Утечка памяти</a></b> <i>Происходит утечка памяти</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Это не утечка. Это Lua не делает уборку мусора, пока его не накопится &quot;достаточно&quot; для того, чтобы уборка имела смысл. Если постоянно дёргать сборщик мусора, то это будет замедлять исполнение программы. Возможно, что Lua имеет свои &quot;представления&quot; о том, когда надо запускать сборку мусора, и они не совпадают с Вашими. Можете, как уже советовали, запускать сборку мусора самостоятельно в подходящие на Ваш взгляд моменты. <br />
			<i>07.01.2021 08:11:56, _sk_.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51576/topic6112/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51576/topic6112/</guid>
			<pubDate>Thu, 07 Jan 2021 08:11:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51574/topic6112/">Утечка памяти</a></b> <i>Происходит утечка памяти</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_qs1PPW2R" href="/user/9885/" bx-tooltip-user-id="9885">Игорь М</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/2480/" target="_blank" rel="nofollow">Виталий</a></noindex> написал:<br />Вопрос к знающим и к поддержке: почему происходит утечка памяти? Версия Quik 8.10.1.1<br />=============<br /> Для информации: Проверил первый скрипт у себя на 8.7 и 8.8 - всё в порядке. Растет незначительными темпами, а затем сбрасывается. Если вставить collectgarbage (&quot;step&quot;), то совсем незначительные колебания (отклонение в 10% от 40КБ до 44КБ), а если collectgarbage () - не изменяется вообще.<br />=============<br />Спасибо. Дело не в том значительно или нет. Понятно, что на машине с ОЗУ 14Гб этого не будет заметно. Тем более на моих 32Гб ОЗУ. Но тут сама суть, что есть утечка, а быть ее не должно. Про сборщик мусора посмотрю сейчас чего это и как внедрить. <br />
			<i>07.01.2021 00:54:50, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51574/topic6112/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51574/topic6112/</guid>
			<pubDate>Thu, 07 Jan 2021 00:54:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51572/topic6112/">Утечка памяти</a></b> <i>Происходит утечка памяти</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wIepDt5l" href="/user/2480/" bx-tooltip-user-id="2480">Виталий</a> написал:<br />Вопрос к знающим и к поддержке: почему происходит утечка памяти? Версия Quik 8.10.1.1<br /><br />=============<br />Для информации: Проверил первый скрипт у себя на 8.7 и 8.8 - всё в порядке. Растет незначительными темпами, а затем сбрасывается. Если вставить collectgarbage (&quot;step&quot;), то совсем незначительные колебания (отклонение в 10% от 40КБ до 44КБ), а если collectgarbage () - не изменяется вообще. <br />
			<i>06.01.2021 19:49:30, Игорь М.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51572/topic6112/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51572/topic6112/</guid>
			<pubDate>Wed, 06 Jan 2021 19:49:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Утечка памяти</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message51571/topic6112/">Утечка памяти</a></b> <i>Происходит утечка памяти</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вопрос к знающим и к поддержке: почему происходит утечка памяти? Версия Quik 8.10.1.1<br /><br />Ниже привожу коды скриптов. С первым память утекает просто моментально. Со вторым меньше и не так резво, но утечка все равно есть.
====code====
<pre>is_run = true

function main()
&nbsp;&nbsp;while is_run do
&nbsp;&nbsp;&nbsp;&nbsp;local dt = os.date("!*t", os.time())
&nbsp;&nbsp;&nbsp;&nbsp;sleep(500)
&nbsp;&nbsp;end
end

function OnStop()
&nbsp;&nbsp;is_run=false
end

</pre>
=============
Второй скрипт, утечка меньше, но имеется (нужно запустить и подождать минут 5, запомнив изначальное значение выделенной памяти)<br />
====code====
<pre>is_run = true

function main()
&nbsp;&nbsp;while is_run do
&nbsp;&nbsp;&nbsp;&nbsp;local curHour = tonumber(os.date("%H", os.time()))
&nbsp;&nbsp;&nbsp;&nbsp;local curMin = tonumber(os.date("%M", os.time())) -- %S - сек
&nbsp;&nbsp;&nbsp;&nbsp;local curDay = tonumber(os.date("%w", os.time())) -- диапазон, 0-6, соответствует Sunday-Saturday
&nbsp;&nbsp;&nbsp;&nbsp;local year = tonumber(os.date("%Y", os.time()))
&nbsp;&nbsp;&nbsp;&nbsp;local month = tonumber(os.date("%m", os.time()))
&nbsp;&nbsp;&nbsp;&nbsp;local day = tonumber(os.date("%d", os.time()))
&nbsp;&nbsp;&nbsp;&nbsp;sleep(500)
&nbsp;&nbsp;end
end

function OnStop()
&nbsp;&nbsp;is_run=false
end

</pre>
=============
Сразу поясню: эти два скрипта в таком виде НЕ несут смысловой нагрузки. Они являются лишь частью рабочего скрипта. Но именно этот код вызывает утечку. Посмотреть это можно открыв окно &quot;Доступные скрипты&quot; и наблюдать за колонкой &quot;Память, KB&quot;. Для первого скрипта она будет расти, как бешеная сразу после запуска. Для второго не так сильно и куда медленнее, но расти будет.<br /><br />Собственно, вопрос: че происходит?! Т.е. даже если нет сборщика мусора - это ведь не повод жрать память бесконтрольно! К слову сказать, обнуление переменных с помощью &quot;х = nil&quot; - не помогает! Использование глобальных переменных вместо local так же не помjгает! Отсюда вопрос: че за дичь?! <br />
			<i>06.01.2021 19:14:45, Виталий.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message51571/topic6112/</link>
			<guid>http://forum.quik.ru/messages/forum10/message51571/topic6112/</guid>
			<pubDate>Wed, 06 Jan 2021 19:14:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
