<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2) форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 05:22:51 +0300</pubDate>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82005/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KUlGTtp6" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />collectgarbage('restart')<br />=============<br /> &nbsp; &nbsp;В этой функции мусор не собирается, а только выставляется признак продолжения его сбора.<br /> Правильно: &nbsp;collectgarbage('collect') <br />
			<i>16.03.2026 08:08:40, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82005/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82005/topic9090/</guid>
			<pubDate>Mon, 16 Mar 2026 08:08:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82003/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_7vEIiu9r" href="/user/17142/" bx-tooltip-user-id="17142">Йцукен</a> написал:<br />Как вы узнали?<br />=============<br /> &nbsp; В меню запуска скриптов есть колонка "Память. KB". При выполнении скрипта у меня размер памяти пилообразно меняется. Период этой пилы и есть интервал сбора мусора.<br /> &nbsp;Продолжительность сбора мусора я определил, в своем отладочном меню скрипта, несколько раз выполнив, при приближении размера памяти к максимуму, код: &nbsp;collectgarbage('restart'). <br />
			<i>16.03.2026 07:20:01, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82003/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82003/topic9090/</guid>
			<pubDate>Mon, 16 Mar 2026 07:20:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82000/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_cQgTtu4t" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />У меня сборка мусора возникает с интервалом ~15 сек. и длится &lt; 1 млс.<br />=============<br />Как вы узнали? <br />
			<i>15.03.2026 10:53:47, Йцукен.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82000/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82000/topic9090/</guid>
			<pubDate>Sun, 15 Mar 2026 10:53:47 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81146/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ovnax8A4" href="/user/17142/" bx-tooltip-user-id="17142">Йцукен</a> написал:<br />Можете привести пример кода, где отключение сборщика мусора увеличит его выполнение?А то у меня наблюдается ровно обратная ситуация.<br />=============<br /> &nbsp; &nbsp; 1. <br />====quote====<br /><a class="blog-p-user-name" id="bp_RtqT3Vlo" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />разработчики QUIK перед выполнением любого коллбека отключают сбор мусора, если &nbsp;он был включен, а после выполнения коллбека, включают, если сборка мусора была до выполнения скрипта. <br />=============<br /> &nbsp; &nbsp; 2. <br />====quote====<br /><a class="blog-p-user-name" id="bp_wRfAKoPe" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />Надо ли это делать и когда и в какие интервалы, каждый решает для себя.<br />=============<br /> &nbsp; &nbsp; Для себя я не вижу необходимости "дергать" сборку мусора. В начале main выполняю: &nbsp;collectgarbage ('setpause', 200) &nbsp;-- сборка мусора после увеличения памяти скрипта на 100% после очередной сборки. И все. &nbsp; У меня сборка мусора возникает с интервалом ~15 сек. и длится &lt; 1 млс. <br />
			<i>04.02.2026 17:59:20, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81146/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81146/topic9090/</guid>
			<pubDate>Wed, 04 Feb 2026 17:59:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81145/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gRGWeK0L" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />могут быть участки скрипта критичные по времени выполнения, на которых они имеют возможность отключать, но потом восстанавливать сборку мусора.<br />=============<br />Можете привести пример кода, где отключение сборщика мусора увеличит его выполнение?<br />А то у меня наблюдается ровно обратная ситуация. <br />
			<i>04.02.2026 15:06:07, Йцукен.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81145/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81145/topic9090/</guid>
			<pubDate>Wed, 04 Feb 2026 15:06:07 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81136/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_FTv2LPGd" href="/user/17142/" bx-tooltip-user-id="17142">Йцукен</a> написал:<br />Можно. А зачем?<br />=============<br /> &nbsp; &nbsp; &nbsp;Сборка мусора выполняется в том же потоке, что и код пользователя и при этом код пользователя приостанавливается на время сбора мусора. У кого то из пользователей могут быть участки скрипта критичные по времени выполнения, на которых они имеют возможность отключать, но потом восстанавливать сборку мусора. Надо ли это делать и когда и в какие интервалы, каждый решает для себя. Например, разработчики QUIK перед выполнением любого коллбека отключают сбор мусора, если &nbsp;он был включен, а после выполнения коллбека, включают, если сборка мусора была до выполнения скрипта. Надо понимать, что при отключении сбора мусора начинает непрерывно расти объем оперативной памяти скрипта. Включение сбора мусора возвращает прежний режим управления памятью скрипта. <br />
			<i>03.02.2026 23:17:19, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81136/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81136/topic9090/</guid>
			<pubDate>Tue, 03 Feb 2026 23:17:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81134/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<noindex><a href="https://forum.quik.ru/user/17142/" target="_blank" rel="nofollow">Йцукен</a></noindex>,<br />Такой разработчик попался. <br />Делать ему очевидно нечего. <br />
			<i>03.02.2026 20:32:42, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81134/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81134/topic9090/</guid>
			<pubDate>Tue, 03 Feb 2026 20:32:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81131/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sVi7tA26" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />Разработчик скрипта может в какой-то момент отключить на какое то время уборку мусора<br />=============<br />Можно. А зачем? <br />
			<i>03.02.2026 17:14:48, Йцукен.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81131/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81131/topic9090/</guid>
			<pubDate>Tue, 03 Feb 2026 17:14:48 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81103/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Разобрался. Все работает нормально. <br />Память утекала от сторонней библиотеки cffi-lua.<br /> &nbsp;Пришлось написать свою <br />
			<i>31.01.2026 17:22:36, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81103/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81103/topic9090/</guid>
			<pubDate>Sat, 31 Jan 2026 17:22:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81096/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dLk2jiZG" href="/user/17142/" bx-tooltip-user-id="17142">Йцукен</a> написал:<br />Нужно ли при завершении скрипта принудительно вызывать collectgarbage()?<br />=============<br />нафига? &nbsp;Это лишь тормозит работу скрипта. <br />
			<i>31.01.2026 12:01:54, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81096/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81096/topic9090/</guid>
			<pubDate>Sat, 31 Jan 2026 12:01:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81090/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Нужно ли при завершении скрипта принудительно вызывать collectgarbage()? <br />
			<i>31.01.2026 10:46:56, Йцукен.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81090/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81090/topic9090/</guid>
			<pubDate>Sat, 31 Jan 2026 10:46:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81046/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_vMUTG3Nb" href="/user/17142/" bx-tooltip-user-id="17142">Йцукен</a> написал:<br />В каком потоке это целесообразно делать: в OnCleanUp или в main?<br />=============<br /> &nbsp; &nbsp;В main.<br /> &nbsp; &nbsp;Разработчики специально отключают мусорщик перед запуском коллбеков, чтобы те быстрее выполнялись. Это и все детали обработки коллбеков описаны в комментариях данной ветки. <br />
			<i>26.01.2026 14:03:00, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81046/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81046/topic9090/</guid>
			<pubDate>Mon, 26 Jan 2026 14:03:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message81041/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В некоторых скриптах я запускаю сборку мусора collectgarbage(&#39;collect&#39;) при смене торговой сессии.<br />В каком потоке это целесообразно делать: в OnCleanUp или в main? <br />
			<i>26.01.2026 12:30:35, Йцукен.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message81041/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message81041/topic9090/</guid>
			<pubDate>Mon, 26 Jan 2026 12:30:35 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78821/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_EX7o6pO4" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />Когда будет выпущена версия с исправлением, мы направим уведомление в эту тему форума.<br />=============<br /> &nbsp; В версии 12.4.0.38 ошибка устранена. <br />
			<i>04.06.2025 11:28:14, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78821/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78821/topic9090/</guid>
			<pubDate>Wed, 04 Jun 2025 11:28:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78640/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_7QYF7ICg" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a>, добрый день.<br /><br />Обсуждаемая проблема еще не была исправлена.<br />Когда будет выпущена версия с исправлением, мы направим уведомление в эту тему форума. <br />
			<i>06.05.2025 08:08:11, Anton Belonogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78640/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78640/topic9090/</guid>
			<pubDate>Tue, 06 May 2025 08:08:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78639/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sVlEfhs0" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />В ПО терминала QUIK действительно есть ошибка в работе функций обратного вызова Lua скрипта, приводящая к рестарту сборщика мусора без учёта его предыдущего состояния. Ошибка будет исправлена в очередных обновлениях ПО.<br />=============<br /> &nbsp; &nbsp;Вышло очередное обновление версия 12.3.0. &nbsp;Ошибка не устранена. <br />
			<i>06.05.2025 07:43:29, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78639/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78639/topic9090/</guid>
			<pubDate>Tue, 06 May 2025 07:43:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78463/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TIi33Xyw" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />Ошибка будет исправлена в очередных обновлениях ПО<br />=============<br /> &nbsp; &nbsp; Спасибо. <br />
			<i>11.04.2025 18:30:12, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78463/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78463/topic9090/</guid>
			<pubDate>Fri, 11 Apr 2025 18:30:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78462/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_dnk2oh04" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a>, добрый день.<br /><br />В ПО терминала QUIK действительно есть ошибка в работе функций обратного вызова Lua скрипта, приводящая к рестарту сборщика мусора без учёта его предыдущего состояния.<br />Ошибка будет исправлена в очередных обновлениях ПО.<br /><br />Приносим извинения за причинённые неудобства. <br />
			<i>11.04.2025 15:43:27, Anton Belonogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78462/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78462/topic9090/</guid>
			<pubDate>Fri, 11 Apr 2025 15:43:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78419/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_QExSMzAe" href="/user/15542/" bx-tooltip-user-id="15542">Anton Belonogov</a> написал:<br />Проблема изучается. Постараемся в ближайшее &nbsp; &nbsp; время дать ответ.<br />=============<br /> &nbsp; &nbsp;Спасибо. Жду.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_3UAIdbKl" href="/user/16131/" bx-tooltip-user-id="16131">VPM</a> написал:<br />Не понимаю и Вам зачем, наверно нужно или скучно стало? <br />=============<br /> &nbsp; &nbsp;Не знаю как вы, а я использую QUIK на практике и заинтересован в том, чтобы он был стабильным и эффективным.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_l1VoRHcJ" href="/user/16131/" bx-tooltip-user-id="16131">VPM</a> написал:<br />Не ну ладно, я "несу &nbsp;всякую ахинею"<br />=============<br /> &nbsp; &nbsp;С такой самокритичностью, вы не безнадежны <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> <br />
			<i>09.04.2025 08:16:14, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78419/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78419/topic9090/</guid>
			<pubDate>Wed, 09 Apr 2025 08:16:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78415/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_uceix6kb" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a>, добрый день.<br /><br /><br />====quote====<br />В версии QUIK 12.2.2.8 (а, похоже, и в более ранних) при запуске любого коллбека отключается сборка мусора (collectgarbage(&#39;stop&#39;)), а после его отработки включается (collectgarbage(&#39;restart&#39;)). &nbsp;Это ошибка. &nbsp; &nbsp;Коллбеки не должны менять состояние уборки мусора после своего выполнения, а должны восстанавливать то, которое было перед их выполнением.<br />=============<br /><br />Проблема изучается. Постараемся в ближайшее &nbsp; &nbsp; время дать ответ. <br />
			<i>08.04.2025 20:15:45, Anton Belonogov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78415/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78415/topic9090/</guid>
			<pubDate>Tue, 08 Apr 2025 20:15:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78413/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1A4H2FcY" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />Давайте, подискутируем. Может быть я заблуждаюсь больше чем две недели?<br />=============<br /><a class="blog-p-user-name" id="bp_XblF5O7X" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a>, &nbsp;Похоже остались тут вдвоем, не я бы Вам ответил, правдо зная про что? Не понимаю и Вам зачем, наверно нужно или скучно стало? Не ну ладно, я &quot;несу &nbsp;всякую ахинею&quot;, &nbsp;разбирая свои идеи по винтикам и полочкам на примерах. А где взять базу случайных чисел? Но Вы то ...? А администраторы? Взяли заблокировали Владимира, и как нам теперь узнать как поживает его &quot;супер- пупер&quot; черная коробочка, думаю подался &nbsp;уже в &quot;форбс&quot; и нам не &quot;чита&quot;? Не я то еще тут побуду, времени на реализацию идей добавилось, даже &quot;Бредовых&quot;. Лично от себя, не знаю как сейчас, раньше была поговорка &quot;Будь проще народ подтянется! И Вам удачи в начинаниях! &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> &nbsp;<img src="http://forum.quik.ru/upload/main/smiles/5/icon_wink.png" border="0" data-code=":wink:" data-definition="SD" alt=":wink:" style="width:16px;height:16px;" title="Шутливо" class="bx-smile" /> &nbsp; <br />
			<i>08.04.2025 17:30:45, VPM.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78413/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78413/topic9090/</guid>
			<pubDate>Tue, 08 Apr 2025 17:30:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78410/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_EpoTuRe3" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />Поддержка: что не так? Ответьте, пожалуйста.<br />=============<br /> &nbsp; Давайте, подискутируем. Может быть я заблуждаюсь больше чем две недели? <br />
			<i>08.04.2025 15:57:31, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78410/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78410/topic9090/</guid>
			<pubDate>Tue, 08 Apr 2025 15:57:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78404/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dHH2Axx4" href="/user/16011/" bx-tooltip-user-id="16011">paluke</a> написал:<br />А также поэтому категорически нельзя в main вызывать collectgarbage('restart').<br />=============<br /> &nbsp; Можете попробовать и ничего вам за это не будет. <br />
			<i>07.04.2025 15:02:43, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78404/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78404/topic9090/</guid>
			<pubDate>Mon, 07 Apr 2025 15:02:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78400/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Можно провести тест - попробовать сломать lua, принудительно вызвав gc в main и коллбеке одновременно. <br />
			<i>07.04.2025 12:23:44, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78400/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78400/topic9090/</guid>
			<pubDate>Mon, 07 Apr 2025 12:23:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78399/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Кажется, следует предполагать, что синхронизации в gc нет. И поэтому gc останавливают при вызове коллбеков. А также поэтому категорически нельзя в main вызывать collectgarbage(&#39;restart&#39;). <br />
			<i>07.04.2025 12:21:44, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78399/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78399/topic9090/</guid>
			<pubDate>Mon, 07 Apr 2025 12:21:44 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78397/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4t2z8tD3" href="/user/16011/" bx-tooltip-user-id="16011">paluke</a> написал:<br />Сборка мусора не потокобезопасна? <br />=============<br /> &nbsp; &nbsp;Да, не потокобезопасна в ванильном режиме. Но разработчик Lua предусмотрел (и, возможно, напрасно) вариант использования инстанции Lua в нескольких потоках в режиме разделения, когда <I>коды</I> Lua могут быть использованы только одним потоком. Для этого варианта надо вносить изменения в исходники Lua, обеспечивающие синхронизацию разделения. С чем разработчик QUIK немало "покувыркался". <br /> &nbsp; Если исходить из того, что синхронизация сейчас реализована корректно, то перед выполнением коллбеков мусорщик можно было бы не останавливать.<br /> &nbsp; Отсутствие сборки мусора при выполнении коллбека обеспечивает:<br /> &nbsp;1) сокращение времени его выполнения;<br /> &nbsp;2) и что не менее важно, дополнительную страховку от возможных ошибок синхронизации, запрещая работу коллектора, который обрабатывает все стеки инстанции Lua.<br /> Но после выполнения коллбека должно быть восстановлено то состояние коллектора, которое было перед выполнением коллбека.<br /> &nbsp; &nbsp; &nbsp;Вообще то, я уже пару раз описывал, как можно изменить схему взаимодействия скриптов Lua с QUIK, чтобы уйти от "интересных" проблем синхронизации потоков. Более того это несколько бы ускорило выполнение скриптов (освобожденных от выполнения кода синхронизации). <br />
			<i>07.04.2025 10:55:10, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78397/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78397/topic9090/</guid>
			<pubDate>Mon, 07 Apr 2025 10:55:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78394/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_mvjakRml" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />nikolz забыл вас спросить: вы понимаете почему разработчики QUIK при выполнении коллбеков останавливают сборку мусора?<br />=============<br />Сборка мусора не потокобезопасна? Ванильный lua вообще то однопоточный, threads там - это просто короутины, которые выполняются по очереди в одном реальном потоке ос, с явным переключением coroutine.resume()/coroutine.yield()<br />Для поддержки многопоточности надо как минимум задефайнить свои макросы lua_lock()/lua_unlock(). Но блокировка идет только на время работы интерпретатора (то есть просто читать/писать в переменные параллельно можно), а вызовы С функций не блокируются. В том числе и встроенные функции insert/remove/sort не блокируются. Откуда и растут ноги у sinsert/sremove/ssort. На время сборки мусора видимо тоже нет блокировки. Так что если она запустится одновременно в main и колбеке - будет жопа. <br />Так что лучше не трогать collectgarbage(&#39;stop&#39;)/collectgarbage(&#39;restart&#39;). Ведь если вы его на время выключаете, то наверное и включаете потом? А если в этот момент выполняется колбек - сборщик мусора может запуститься в нем. <br />
			<i>07.04.2025 09:38:06, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78394/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78394/topic9090/</guid>
			<pubDate>Mon, 07 Apr 2025 09:38:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78393/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			lua_State это, как написано в документации и в комментарии в исходниках, &quot;per thread state&quot;. Структура, одно из полей которой &nbsp;- указатель на global_State. Этот global_State общий для всех потоков, и именно в нем лежит все, связанное с &nbsp;с управлением динамически выделяемой памятью, сборкой мусора и глобальными переменными. У каждого потока есть свой стек, но на стеке живут только локальные переменные &nbsp;- их время жизни до выхода из функции, не сборщик мусора их освобождает. <br />
			<i>07.04.2025 09:09:42, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78393/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78393/topic9090/</guid>
			<pubDate>Mon, 07 Apr 2025 09:09:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78392/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_p7PdUOTa" href="/user/16011/" bx-tooltip-user-id="16011">paluke</a> написал:<br /> <br />====quote====<br /><noindex><a href="/user/62/" target="_blank" rel="nofollow">nikolz</a></noindex> написал:<br /><br />Т е в каком стеке Вы вызовите сборщик, тот стек он и будет чистить.<br />=============<br /> Динамическая память - это не стек. Или имелся ввиду поток? Ну мы же можем передавать объекты между потоками. Не может быть разделения по потокам для сборки мусора. <br />====quote====<br />Each Lua state has one or more threads, which correspond to independent, cooperative lines of execution. The type &nbsp;<noindex><a href="https://lua.org/manual/5.4/manual.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex> &nbsp;(despite its name) refers to a thread. (Indirectly, through the thread, it also refers to the Lua state associated to the thread.) &nbsp; <br />=============<br /> <br />=============<br />Возможно путаница в терминологии. <br />Глобальным стеком я называю lua_State. <br />-----------------------<br />VM Lua - это стековая машина. <br />Когда мы создаем VM Lua, то для нее выделяется область State<br />--------------------------<br />Т е для нее из кучи выделяется кусок, в котором все размещается. <br />Если вызвать функцию библиотечную, то этой функции на СИ &nbsp;передается всего один параметр.<br />Это указатель на State VM Lua.<br />---------------------------<br />Все функции и все переменные как глобальные так и локальные &nbsp;размещаются в этом State. <br /> Т е этот State и есть та динамическая память, с которой работает сборщик мусора.<br />---------------------------<br />когда создаем корутину, то для нее из области State VMLua выделяется кусок памяти, который будет State корутины.<br />-----------------------<br />&quot;coroutine.create (f)Создает новый сопроцесс, с телом f. fдолжен быть функцией. Возвращает этот новый сопроцесс, как объект с типом &quot;thread&quot;. <br />---------------------- <br /><p>lua_State *lua_newthread (lua_State *L);</p><p>Создает новый поток, ложит его на стек и возвращает указатель на <noindex><a href="https://lua.org.ru/manual_ru.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex>, который представляет этот новый поток.</p><p> Новый поток использует одно глобальное окружение с оригинальным потоком, но имеет независимый стек исполнения.</p><p>Не существует явной функции для закрытия или уничтожения потока. Потоки это субъект для сборки мусора, как и любой Lua объект</p><p>----------------------------- &nbsp;</p><p>Если посмотреть внутри основной программы и внутри main, то увидим, что в вызываемые в них функции передается различный указатель на State.</p> <br />
			<i>06.04.2025 20:53:03, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78392/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78392/topic9090/</guid>
			<pubDate>Sun, 06 Apr 2025 20:53:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message78387/topic9090/">   При запусках коллбеков не восстанавливается состояние скрипта по сборке мусора (QUIK 12.2.1.2)</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_1kmO1SSM" href="/user/62/" bx-tooltip-user-id="62">nikolz</a> написал:<br /><br />Т е в каком стеке Вы вызовите сборщик, тот стек он и будет чистить.<br />=============<br />Динамическая память - это не стек. Или имелся ввиду поток? Ну мы же можем передавать объекты между потоками. Не может быть разделения по потокам для сборки мусора.<br />====quote====<br />Each Lua state has one or more threads, which correspond to independent, cooperative lines of execution. The type <noindex><a href="https://lua.org/manual/5.4/manual.html#lua_State" target="_blank" rel="nofollow">lua_State</a></noindex> (despite its name) refers to a thread. (Indirectly, through the thread, it also refers to the Lua state associated to the thread.) &nbsp; <br /><br />=============<br /> <br />
			<i>06.04.2025 09:31:00, paluke.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message78387/topic9090/</link>
			<guid>http://forum.quik.ru/messages/forum10/message78387/topic9090/</guid>
			<pubDate>Sun, 06 Apr 2025 09:31:00 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
