<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: os.date() утечка памяти или нет?]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме os.date() утечка памяти или нет? форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 23 Apr 2026 04:53:53 +0300</pubDate>
		<item>
			<title>os.date() утечка памяти или нет?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message51210/topic6066/">os.date() утечка памяти или нет?</a></b> <i>при использовании os.date() память потребляемая скриптом растет</i> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_aZmQfkWL" href="/user/14523/" bx-tooltip-user-id="14523">Алексей</a> написал:<br />непонятно, то что этот буфер функция сама не освобождает после отработки и приходится ждать сборщика мусора.<br />=============<br />Утечкой это нельзя назвать, утечка это когда утекло с концами. В конкретном случае буфер выделяется под строку с отформатированной датой. &nbsp;Луа отформатировал дату, пытается пихнуть строку на стек, а такая строка &nbsp;уже есть от прошлого вызова, отсюда периодичность прирастания минутная &nbsp;или секундная в зависимости от формата. Затем дата поменялась, луа таки засунул новую строку в стек, а старая улетела в мусор и дело за коллектором, когда он там соблаговолит. Еще и поинтересней есть закидоны, коллектор определяет лимит, исходя из занятой памяти, и иногда при медленном нарастании может решить, что вообще все ок и прибираться рановато, и при следующем подходе опять, и так будет постепенно память прирастать, вроде и мусор, а вроде и прибираться перманентно рановато. Дергайте collectgarbage, если напрягает. <br />
			<i>20.12.2020 19:28:35, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message51210/topic6066/</link>
			<guid>http://forum.quik.ru/messages/forum1/message51210/topic6066/</guid>
			<pubDate>Sun, 20 Dec 2020 19:28:35 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>os.date() утечка памяти или нет?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message51208/topic6066/">os.date() утечка памяти или нет?</a></b> <i>при использовании os.date() память потребляемая скриптом растет</i> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DQYPXXtN" href="/user/47/" bx-tooltip-user-id="47"><noindex><a href="mailto:s_mike@rambler.ru" target="_blank" rel="nofollow">s_mike@rambler.ru</a></noindex></a> написал:<br />Ну а что же удивляет?<br /><br />Но время работы os.date резервируется буфер в памяти. Когда таких вызовов много, вы можете увидеть изменение занимаемой скриптом памяти даже глазами.<br /><br />Сборщик мусора все эти огрызки памяти освобождает одним проходом.<br />=============<br />Именно это и удивляет.<br />То что резервируется буфер в памяти это понятно, непонятно, то что этот буфер функция сама не освобождает после отработки и приходится ждать сборщика мусора.<br /><br />Если считаете что это нормальная работа функции с памятью, то приведите хотя бы пару примеров таких же &quot;голодных&quot; на память функций в lua.<br />Я вот единственную такую нашел. <br />
			<i>20.12.2020 18:35:37, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message51208/topic6066/</link>
			<guid>http://forum.quik.ru/messages/forum1/message51208/topic6066/</guid>
			<pubDate>Sun, 20 Dec 2020 18:35:37 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>os.date() утечка памяти или нет?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message51206/topic6066/">os.date() утечка памяти или нет?</a></b> <i>при использовании os.date() память потребляемая скриптом растет</i> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			Ну а что же удивляет?<br /><br />Но время работы os.date резервируется буфер в памяти. Когда таких вызовов много, вы можете увидеть изменение занимаемой скриптом памяти даже глазами.<br /><br />Сборщик мусора все эти огрызки памяти освобождает одним проходом. <br />
			<i>20.12.2020 18:02:42, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message51206/topic6066/</link>
			<guid>http://forum.quik.ru/messages/forum1/message51206/topic6066/</guid>
			<pubDate>Sun, 20 Dec 2020 18:02:42 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
		<item>
			<title>os.date() утечка памяти или нет?</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum1/message51203/topic6066/">os.date() утечка памяти или нет?</a></b> <i>при использовании os.date() память потребляемая скриптом растет</i> в форуме <a href="http://forum.quik.ru/forum1/">Система QUIK</a>. <br />
			Добрый день.<br /><br />Заметил, что при использовании в скриптах функции os.date() память потребляемая скриптом (смотрю в окне Доступные скрипты) растет до определенного предела, через некоторое время память возвращается к первоначальному объему.<br /><br />Пример скрипта<br />
====code====
<pre>is_run=true
function main()
&nbsp;&nbsp;while is_run do
&nbsp;&nbsp;os.date()
&nbsp;&nbsp;sleep(100)
&nbsp;&nbsp;end
end
function OnStop()
&nbsp;&nbsp;is_run=false
end

</pre>
=============
Почему подозреваю именно утечку?<br />1) Память увеличивается при обновлении данных функцией. Пример: os.date(&quot;%H%M%S&quot;) увеличение потребляемой памяти раз в секунду, os.date(&quot;%H%M&quot;) тут уже раз в минуту.<br />2) Проблема именно с данной функцией. Например если вместо os.date() использовать os.time(), то потребляемая память не увеличивается.<br />3) После определенного предела, память очищается до первоначального состояния. Как будто срабатывает сборщик мусора.<br /><br /><br />Используемая версия quik 8.9.0.107, на более старых версиях наблюдал такую же картину. <br />
			<i>20.12.2020 16:12:29, Алексей.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum1/message51203/topic6066/</link>
			<guid>http://forum.quik.ru/messages/forum1/message51203/topic6066/</guid>
			<pubDate>Sun, 20 Dec 2020 16:12:29 +0300</pubDate>
			<category>Система QUIK</category>
		</item>
	</channel>
</rss>
