<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Почему скрипты в QUIK выполняются дольше]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Почему скрипты в QUIK выполняются дольше форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Thu, 14 May 2026 20:17:54 +0300</pubDate>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47370/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_TMLeSYfE" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Делать лок перед началом колбека и анлок по окончании, не?<br />=============<br />Это и без арки можно сделать тем же ssort&#39;ом, когда нужно. Всем и всегда - не нужно. Простой пример: в колбеке вызываете функцию из своей длл, она без лока выполняется. Если квик лок захватит, будет выполняться под локом. Нужен ли ей лок? Скорее всего нет, там в основном нативный код, в начале из стека выдрали аргументы, в конце засунули результат, чего бы мейну параллельно не поработать. <br />
			<i>31.07.2020 08:38:12, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47370/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47370/topic2200/</guid>
			<pubDate>Fri, 31 Jul 2020 08:38:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47300/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_sZFlVK1S" href="/user/1222/" bx-tooltip-user-id="1222">Anton</a> написал:<br />Трудно придумать, как арка могла бы это изменить в текущей архитектуре с отдельным мейном.<br />=============<br />Делать лок перед началом колбека и анлок по окончании, не? <br />
			<i>28.07.2020 14:55:12, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47300/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47300/topic2200/</guid>
			<pubDate>Tue, 28 Jul 2020 14:55:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47248/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Хотя есть от main и польза: перенос сложных расчётов в main при одновременной работе двух и более таких скриптов (при достаточном количестве процессоров и условии, что колбеки не будут мешать расчётам). <br />
			<i>26.07.2020 23:55:10, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47248/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47248/topic2200/</guid>
			<pubDate>Sun, 26 Jul 2020 23:55:10 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47246/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_T7lf7tqV" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />вреда от main больше, чем пользы.<br />=============<br />Это логичное следствие устройства самого луа, смотрим например в сорцы <noindex><a href="https://www.lua.org/source/5.3/lapi.c.html#lua_arith" target="_blank" rel="nofollow">одной из функций</a></noindex>, видим лок в начале и анлок в конце. Если функции вызываются параллельно из двух потоков, а это неизбежно при их параллельной работе, это будет приводить к переключению контекста между мейном и основным потоком квика на каждой итерации цикла. Отсюда накладные расходы и отсюда выгода от блокировки, захват критической секции в начале функции становится рекурсивным и не приводит к переключению контекста. Трудно придумать, как арка могла бы это изменить в текущей архитектуре с отдельным мейном. Только если отдать всю синхронизацию скриптописцу, что закончится известно как. <br />
			<i>26.07.2020 21:31:20, Anton.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47246/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47246/topic2200/</guid>
			<pubDate>Sun, 26 Jul 2020 21:31:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47245/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добавим блокировку для &quot;монопольного&quot; вычисления в колбеке:<br />
====code====
<pre>local abs = math.abs
local function f()
&nbsp;&nbsp;local t = os.clock()
&nbsp;&nbsp;for i = 1, 100000000 do abs(-1234.56789) end
&nbsp;&nbsp;return os.clock() - t
end

function main()
&nbsp;&nbsp;message(string.format('Расчёт в одном потоке: %0.1f', f()))
&nbsp;&nbsp;run = true
&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;if param then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(string.format('Расчёт в двух потоках &#91;main&#93;: %0.1f', f()))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;param = nil
&nbsp;&nbsp;&nbsp;&nbsp;else sleep(1) end
&nbsp;&nbsp;end
end

function OnParam(class_code, sec_code)
&nbsp;&nbsp;if not run then return end
&nbsp;&nbsp;param = true
&nbsp;&nbsp;local t
&nbsp;&nbsp;table.ssort({0, 0}, function()
&nbsp;&nbsp;&nbsp;&nbsp;t = f()
&nbsp;&nbsp;&nbsp;&nbsp;return true
&nbsp;&nbsp;end)
&nbsp;&nbsp;message(string.format('Расчёт в двух потоках &#91;OnParam&#93;: %0.1f', t))
&nbsp;&nbsp;run = nil
end</pre>
=============
Результат:<br />====quote====<br />Расчёт в одном потоке: 7.4<br />Расчёт в двух потоках [OnParam]: 6.7<br />Расчёт в двух потоках [main]: 7.3<br />=============<br />Т.ч. вреда от main больше, чем пользы. И, если уж угораздило переносить расчёты в main, то то, что осталось в колбеках, лучше делать под блокировкой, чтобы main ни в коем случае не делал вычислений одновременно с колбеками.<br />Последовательная работа потоков положительно скажется на общей производительности. <br />
			<i>26.07.2020 20:44:05, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47245/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47245/topic2200/</guid>
			<pubDate>Sun, 26 Jul 2020 20:44:05 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47241/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Немного модифицируем первоначальный скрипт:<br />
====code====
<pre>local abs = math.abs
local function f()
&nbsp;&nbsp;local t = os.clock()
&nbsp;&nbsp;for i = 1, 100000000 do abs(-1234.56789) end
&nbsp;&nbsp;return os.clock() - t
end

function main()
&nbsp;&nbsp;message(string.format('Расчёт в одном потоке: %0.1f', f()))
&nbsp;&nbsp;run = true
&nbsp;&nbsp;while run do
&nbsp;&nbsp;&nbsp;&nbsp;if param then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message(string.format('Расчёт в двух потоках &#91;main&#93;: %0.1f', f()))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;param = nil
&nbsp;&nbsp;&nbsp;&nbsp;else sleep(1) end
&nbsp;&nbsp;end
end

function OnParam(class_code, sec_code)
&nbsp;&nbsp;if not run then return end
&nbsp;&nbsp;param = true
&nbsp;&nbsp;message(string.format('Расчёт в двух потоках &#91;OnParam&#93;: %0.1f', f()))
&nbsp;&nbsp;run = nil
end</pre>
=============
Результат:<br /><br />====quote====<br />Расчёт в одном потоке: 7.5<br />Расчёт в двух потоках [OnParam]: 32.2<br />Расчёт в двух потоках [main]: 31.9<br />=============<br />Выводы делайте сами. <br />
			<i>26.07.2020 19:50:49, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47241/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47241/topic2200/</guid>
			<pubDate>Sun, 26 Jul 2020 19:50:49 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message47239/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			&nbsp; <br />====quote====<br /><a class="blog-p-user-name" id="bp_wev5je1V" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />В QUIK есть многопоточность<br />=============<br /> Дополнение к выше приведенному ответу.<br /> &nbsp;QUIK не управляет потоками. Ими управляет ОС. Но в реализации QLua есть отличие от &quot;чистого&quot; Lua, состоящее в том,что виртуальная машина QLua реализует собственное, потокобезопасное управление автоматической памятью QLua (запрос памяти под объекты QLua, возврат памяти, сборка мусора). Это правильно, и обусловлено тем, что все служебные функции обратного вызова QLua запускаются в потоке отличном от пользовательского (с именем main), но в среде (памяти) пользователя. Тут возникает только один вопрос: насколько эффективно в QLua реализовано это управление автоматической памятью? Но главным является то, что до версии QUIK 8.5, похоже это было реализовано достаточно корректно.Начиная же с версии QUIK 8.5 (а это переход c Lua 5.1 на 5.3, в котором существенно изменилось управление автоматической памятью) и вплоть до версии 8.8.0.55 при запусках моего теста управления автоматической памятью QLua в произвольные моменты времени возникают дампы ( все они пересланы мной в поддержку ARQU). Пока в версии &gt;= 8.5 не будет реализовано корректное (пусть и не самое эффективное) потокобезопастное управление автоматической памятью версий QLua &gt;= 8.5, QUIK будет нестабильным (надеюсь что разработчики QUIK это понимают). <br />
			<i>26.07.2020 18:36:42, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message47239/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message47239/topic2200/</guid>
			<pubDate>Sun, 26 Jul 2020 18:36:42 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20519/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_20cYnCIX" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Вопрос разработчикам: верно ли, что в QUIK, как таковой, многопоточности нет? <br />=============<br />В QUIK есть многопоточность<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_PYvoFSDV" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Да, есть два потока: основной и main. Но в каждый момент времени работают команды только из одного потока. Просто происходит переключение между потоками на уровне ОС.<br />=============<br />так обрабатывается ситуация при одновременном доступе к одному ресурсу <br />
			<i>28.11.2016 11:37:45, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20519/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20519/topic2200/</guid>
			<pubDate>Mon, 28 Nov 2016 11:37:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20512/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вопрос разработчикам: верно ли, что в QUIK, как таковой, многопоточности нет? Да, есть два потока: основной и main. Но в каждый момент времени работают команды только из одного потока. Просто происходит переключение между потоками на уровне ОС. Так? <br />
			<i>27.11.2016 23:29:52, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20512/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20512/topic2200/</guid>
			<pubDate>Sun, 27 Nov 2016 23:29:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19514/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В зерколо смтришься при написании.<br />Это правильно. <br />
			<i>19.10.2016 05:02:43, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19514/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19514/topic2200/</guid>
			<pubDate>Wed, 19 Oct 2016 05:02:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19504/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_8gnMUXnx" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />всех,кто имеет удовольствие читать твою ахинею.<br /><br />=============<br />а ты &nbsp;тут за всех, что ль уже взялся говорить, высерок?<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_aF8kDh2k" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Запрос фактов забавно слышать от того, кто их не приводит<br />=============<br />и мне тоже &quot;забавно&quot; слышать &quot;излияния&quot; от такого чмошника, как ты...<br />Заикнулся про то, что есть полностью скаченный старый форум, а потом, как су ка последняя язык в ж пу засунул....<br />чмо ты и есть чмо <br />
			<i>18.10.2016 20:45:25, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19504/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19504/topic2200/</guid>
			<pubDate>Tue, 18 Oct 2016 20:45:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19500/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_yYt6xjcs" href="/user/137/" bx-tooltip-user-id="137">тот самый</a> напис<br />====quote====<br /> swerg &nbsp; написал:<br />Радует, что балуешь ты нас этим постоянно.<br />=============<br />кого вас-то?... <br />=============<br />всех,кто имеет удовольствие читать твою ахинею.<br /><br />Запрос фактов забавно слышать от того, кто их не приводит <br />
			<i>18.10.2016 17:36:57, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19500/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19500/topic2200/</guid>
			<pubDate>Tue, 18 Oct 2016 17:36:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19497/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_wC3LJ1Ei" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />приятно видеть, когда ты порешь полную чушь.<br /><br />=============<br />есть факты? или ты просто опять решил по пи..болить?<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_4f2oiIrR" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Радует, что балуешь ты нас этим постоянно.<br />=============<br />кого вас-то?... <img src="http://forum.quik.ru/upload/main/smiles/5/icon_biggrin.png" border="0" data-code=":lol:" data-definition="SD" alt=":lol:" style="width:16px;height:16px;" title="Широкая улыбка" class="bx-smile" /> <br />
			<i>18.10.2016 14:56:54, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19497/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19497/topic2200/</guid>
			<pubDate>Tue, 18 Oct 2016 14:56:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19494/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_HeyC8JoZ" href="/user/137/" bx-tooltip-user-id="137">тот самый</a> написал:<br /><br />====quote====<br /><br /><br />=============<br />как только QUIK наконец начнёт импортировать функции вида: <br />SetThreadAffinityMask<br /> <noindex><a href="https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686253%28v=vs.85%29.aspx" target="_blank" rel="nofollow">SetThreadIdealProcessor</a></noindex> <br /><br />тогда и только тогда он хоть на чуточку приблизится к поддержке многоядерности.<br />=============<br />приятно видеть, когда ты порешь полную чушь.<br />Радует, что балуешь ты нас этим постоянно. <br />
			<i>18.10.2016 06:16:20, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19494/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19494/topic2200/</guid>
			<pubDate>Tue, 18 Oct 2016 06:16:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19493/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_8HSQzDXR" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Разве что не мешает... Пока не задействуешь потокобезопасные функции QLua.<br />Но в моём понимании &quot;отличная работа&quot; многопоточного приложения - это когда на многоядерном ЦП несколько параллельно работающих задач выполняются быстрее, чем те же несколько задач, выполняемых последовательно.<br /><br />=============<br />вы как бы правы, но кто говорил про <B>много</B>поточность?<br />Ну и потом: запустите ваши скрипты отдельными скриптами в quik, и функции main будут работать паралллельно (кстати, надо попробовать)<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_O6j5uwgX" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />А по факту в QUIK накладные расходы слишком высоки.<br />=============<br />это откуда вывод про слишком? У вас есть другое приложение, на котором вы можете поставить аналогиный эксперимент? <br />
			<i>18.10.2016 06:14:33, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19493/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19493/topic2200/</guid>
			<pubDate>Tue, 18 Oct 2016 06:14:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19488/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_scWQLIQh" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Но в моём понимании &quot;отличная работа&quot; многопоточного приложения - это когда на многоядерном ЦП несколько параллельно работающих задач выполняются быстрее, чем те же несколько задач, выполняемых последовательно.<br /><br />=============<br />как только QUIK наконец начнёт импортировать функции вида: <br />SetThreadAffinityMask<br /><noindex><a href="https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms686253%28v=vs.85%29.aspx" target="_blank" rel="nofollow">SetThreadIdealProcessor</a></noindex><br /><br />тогда и только тогда он хоть на чуточку приблизится к поддержке многоядерности. <br />
			<i>17.10.2016 20:43:21, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19488/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19488/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 20:43:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19487/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_DsQdt2lA" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Двухпоточность рабатает отлично. Поток main() не мешает основному потоку<br /><br />=============<br />слышь ты...умник, ля... - да завали ты уже своё е..<br /><br />можно, как и в майне тормоза квику создать, равно, как и можно сам квик - окнами и индикаторами перегрузить - и также будут тормоза в майне. <br />
			<i>17.10.2016 20:35:20, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19487/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19487/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 20:35:20 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19486/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_NubKYY1M" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Но есть поток main() - он не мешает основному потоку<br />=============<br />балабол <br />
			<i>17.10.2016 20:32:56, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19486/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19486/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 20:32:56 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19484/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_h9OG5CH1" href="/user/82/" bx-tooltip-user-id="82">swerg</a> написал:<br />Двухпоточность рабатает отлично. Поток main() не мешает основному потоку<br />А время - понятные накладные расходы.<br />=============<br />Разве что не мешает... Пока не задействуешь потокобезопасные функции QLua.<br />Но в моём понимании "отличная работа" многопоточного приложения - это когда на многоядерном ЦП несколько параллельно работающих задач выполняются быстрее, чем те же несколько задач, выполняемых последовательно.<br />А по факту в QUIK накладные расходы слишком высоки. <br />
			<i>17.10.2016 19:00:12, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19484/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19484/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 19:00:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19481/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_SU4NC5Fm" href="/user/54/" bx-tooltip-user-id="54">Старатель</a> написал:<br />Мда... Двухпоточность в QLua работает действительно неэффективно:<br /><br />=============<br />это не понятно.<br />Двухпоточность рабатает отлично. Поток main() не мешает основному потоку<br />А время - понятные накладные расходы. <br />
			<i>17.10.2016 17:19:58, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19481/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19481/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 17:19:58 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19480/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_KLkwyJxi" href="/user/2047/" bx-tooltip-user-id="2047">Станислав</a> написал:<br /><br />====quote====<br /><br /><br /> &nbsp;<br />=============<br />Выходит что луа машина в квике крутится в потоке его gui? Но это же очень плохо как для самого квика так и для сриптов...<br />=============<br />так это явно написано в документации.<br />Но есть поток main() - он не мешает основному потоку <br />
			<i>17.10.2016 17:17:34, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19480/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19480/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 17:17:34 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19478/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ml2s66Dy" href="/user/137/" bx-tooltip-user-id="137">тот самый</a> написал:<br />я уже приводил 3 примера:<br /> &nbsp;чем больше на графиках наложено индикаторов - тем дольше выполняется скрипт (вне зависимости от того, что он мол де - находится &quot;в майне&quot;)<br /> &nbsp;чем больше открыто графиков и окон в квике - тем дольше выполняются скрипты. ЭТО ПОЗОРНЫЙ ФАКТ о котором так любят умалчивать так называемые &quot;разработчики&quot;<br /> &nbsp;стОит поводить окном любой таблицы или графика в QUIK-е - скрипты - ожидаемо начинают притормаживать.<br /><br /> &nbsp;<br />=============<br />Выходит что луа машина в квике крутится в потоке его gui? Но это же очень плохо как для самого квика так и для сриптов... <br />
			<i>17.10.2016 15:02:55, Станислав.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19478/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19478/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 15:02:55 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19472/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Мда... Двухпоточность в QLua работает действительно неэффективно:<br />Вот сейчас запустил одновременно три скрипта в QUIK. Общее время работы составило 12.9 сек, что больше, чем при последовательном их запуске через консоль (3.5+3.5+3.6=10.6 сек).<br />Таким образом, выигрыша в производительности от многопоточной схемы работы в QUIK, действительно, не наблюдается. Единственный плюс - то, что интерфейс не зависает при работе длительных циклов в main. <br />
			<i>17.10.2016 11:38:46, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19472/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19472/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 11:38:46 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19466/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Правильный ответ в данном случае:<br />Потому что в quik Lua собрана с поддерхкой многопоточности.<br />Разница - это накладные расходы на синхронизацию доступа к хранилищу переменных (сделано в Lua надёжно, но не очень эффективно) <br />
			<i>17.10.2016 06:24:17, swerg.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19466/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19466/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 06:24:17 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19464/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			я уже приводил 3 примера:<br /><ol><li>чем больше на графиках наложено индикаторов - тем дольше выполняется скрипт (вне зависимости от того, что он мол де - находится &quot;в майне&quot;)<br /><li>чем больше открыто графиков и окон в квике - тем дольше выполняются скрипты. ЭТО ПОЗОРНЫЙ ФАКТ о котором так любят умалчивать так называемые &quot;разработчики&quot;<br /><li>стОит поводить окном любой таблицы или графика в QUIK-е - скрипты - ожидаемо начинают притормаживать.<br /><br /></ol> <br />
			<i>17.10.2016 00:20:22, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19464/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19464/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 00:20:22 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19463/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			потому что в первом случае, виртуальная машина запускается отдельным потоком внутри процесса QUIK-а у которого и так полно потоков и поболее приоритетных чем твой скрипт<br />и во втором случае - скрипт запускается в однопоточном процессе (&quot;из командной строки&quot; - это я так понимаю из интерпретатора LUA).<br /><br />Кроме того, количество ядер - абсолютно никак не влияет на QUIK - бо как он, как уже писалось на форуме - не использует все преимущества &nbsp;многоядерности, а целиком полагается в распределении нагрузки на ОС. <br />
			<i>17.10.2016 00:13:52, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19463/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19463/topic2200/</guid>
			<pubDate>Mon, 17 Oct 2016 00:13:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Почему скрипты в QUIK выполняются дольше</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message19460/topic2200/">Почему скрипты в QUIK выполняются дольше</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			В среде QUIK скрипты выполняются в несколько раз дольше, чем в командной строке.<br />Вот такой скрипт<br />
====code====
<pre>function main()
&nbsp;&nbsp;print = message or print
&nbsp;&nbsp;local abs = math.abs
&nbsp;&nbsp;local t = os.clock()
&nbsp;&nbsp;for i = 1, 100000000 do abs(-1234.56789) end
&nbsp;&nbsp;t = os.clock() - t
&nbsp;&nbsp;print(string.format('%0.1f', t))
end

if not message then main() end</pre>
=============
в командной строке выполняется 3.5 сек, в QUIK - 8.8 сек.<br />В 2.5 раза дольше! Почему так?<br /><br />PS: ЦП: 2 ядра, 4 логических процессора. <br />
			<i>16.10.2016 13:12:29, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message19460/topic2200/</link>
			<guid>http://forum.quik.ru/messages/forum10/message19460/topic2200/</guid>
			<pubDate>Sun, 16 Oct 2016 13:12:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
