<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: table.s*]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме table.s* форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 03 May 2026 16:08:25 +0300</pubDate>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20440/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_GcH0WxmD" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> написал:<br /><br />====quote====<br />Для ситуации один читатель/один писатель можно написать неблокирующую очередь<br />=============<br /><br />=============<br />ее я и сляпал.<br /><br />А применение функций table.s* становится бессмысленным в общем случае. Оно имеет &nbsp;смысл только тогда, когда заранее известно, что объем обмена будет мизерный. <br /><br />Пришлось перекомпилировать все актуальные скрипты, чтобы table.s* там не фигурировали. <br />
			<i>22.11.2016 11:51:26, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20440/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20440/topic2285/</guid>
			<pubDate>Tue, 22 Nov 2016 11:51:26 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20439/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Сами по себе Lua-функция table.remove/table.insert тормозные, когда дело касается добавления/удаления в начале (середине) большой таблицы <br />
			<i>22.11.2016 11:49:06, Старатель.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20439/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20439/topic2285/</guid>
			<pubDate>Tue, 22 Nov 2016 11:49:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20432/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ng1ogRr3" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> написал:<br />we can implement queues trivially using insert and remove (from the table library), this implementation can be too slow for large structures<br />=============<br />а если использовать b-tree? <br />
			<i>22.11.2016 11:02:32, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20432/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20432/topic2285/</guid>
			<pubDate>Tue, 22 Nov 2016 11:02:32 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20431/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Синхронизация. конечно, скорости не добавляет, но в документации прямо написано : <br />====quote====<br />we can implement queues trivially using insert and remove (from the table library), this implementation can be too slow for large structures<br />=============<br />Для ситуации один читатель/один писатель можно написать неблокирующую очередь. <br />
			<i>22.11.2016 10:50:57, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20431/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20431/topic2285/</guid>
			<pubDate>Tue, 22 Nov 2016 10:50:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20428/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Jn8RXItO" href="/user/21/" bx-tooltip-user-id="21">Michael Bulychev</a> написал:<br />Добрый день.<br />Пришлите нам пример кода для тестов. Кроме того, если вставлять и удалять элементы с индексом 1, то мы получим линейную зависимость времени работы от размера таблицы.<br />=============<br />Михаил.<br /><br />Естественно что для обмена между потоком терминала и потоком скрипта нам требуется очередь FIFO. Поэтому при использовании table.s есть 2 варианта.<br />1. Добавлять данные в хвост таблицы (быстро) и удалять первое значение (медленно)<br />2. Добавлять в начало таблицы (медленно) и убирать &nbsp;последнее значение (быстро)<br /><br />Хрен редьки не слаще.<br /><br />Теста у меня уже нет, удалил. писать там особо нечего &nbsp;сначала в цикле добавляем через sinsert миллион строк, после чего в цикле удаляем первое значение по sremove.<br /><br />на моем компьютере за секунду удалялось 10 значений (каждую секунду). я подождал минут 5 и понял, что ждать дальше смысла нет. Предположений два: либо размеряются какие-то временнЫе промежутки, равные 1/10 секунды, либо перелопачивание всего массива функцией sremove несет огромные расходы.<br /><br />И в том и другом случае - на помойку. Заменил на собственную функцию с тем же интерфейсом - проблемы исчезли.<br /><br />миллион значений - вполне нормальная ситуация из реальной задачи. <br />
			<i>22.11.2016 09:56:25, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20428/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20428/topic2285/</guid>
			<pubDate>Tue, 22 Nov 2016 09:56:25 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20423/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br />Пришлите нам пример кода для тестов. Кроме того, если вставлять и удалять элементы с индексом 1, то мы получим линейную зависимость времени работы от размера таблицы. <br />
			<i>22.11.2016 05:45:06, Michael Bulychev.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20423/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20423/topic2285/</guid>
			<pubDate>Tue, 22 Nov 2016 05:45:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20397/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_kDUkN88F" 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 />====quote====<br /> тот самый &nbsp; написал:<br />а мы и проверим у кого, что выйдет))<br />=============<br />Будьте внимательнее. Я обращался к разработчикам.<br />=============<br />сомневаюсь, что они ВООБЩЕ Вам ответят на данный вопрос. Если Вы игнорируете пользователей то, спрашивается, - что Вы здесь забыли? Это именно то место - где каждый может задать вопрос каждому. Если Вас это не устраивает - Вы можете воспользоваться электронной почтой или личкой.... <br />
			<i>21.11.2016 15:58:01, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20397/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20397/topic2285/</guid>
			<pubDate>Mon, 21 Nov 2016 15:58:01 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20383/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_pxXmKI8m" href="/user/137/" bx-tooltip-user-id="137">тот самый</a> написал:<br />а мы и проверим у кого, что выйдет))<br />=============<br />Будьте внимательнее. Я обращался к разработчикам. <br />
			<i>21.11.2016 14:51:29, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20383/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20383/topic2285/</guid>
			<pubDate>Mon, 21 Nov 2016 14:51:29 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20381/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			я дкмаю, в данном случае, это не из-за скорости работы критических секций, а из-за скорости переключения контекста потоков. В любом случае, хотелось бы видеть полный код скрипта с описанной проблемой, т.к. потоки в QLUA можно создавать по-разному. <br />
			<i>21.11.2016 14:22:12, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20381/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20381/topic2285/</guid>
			<pubDate>Mon, 21 Nov 2016 14:22:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20380/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			понятие семафоров и времени, как такого - не применимы в данном контексте и уж тем более неприменимо понятие времени в системах с вытесняющей многозадачностью. На вашей машине - это 10 раз в секунду, на другой - другие значения.<br />Насчёт того, кто писал и рекоммендовал - это один и тот же человек))) Что ж он тогда без рук и ног делать-то будет?)))<br />Насчёт написания теста: Вы приведите свой тест, а мы и проверим у кого, что выйдет)) <br />
			<i>21.11.2016 14:16:53, тот самый.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20380/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20380/topic2285/</guid>
			<pubDate>Mon, 21 Nov 2016 14:16:53 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20367/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_ZY7HzceJ" href="/user/17/" bx-tooltip-user-id="17">Sergey Gorokhov</a> написал:<br />Здравствуйте,<br />Просьба рассказать подробнее, как Вы пришли к такому выводу?<br />=============<br /><br />напишите себе тест: из одного потока забиваем таблицу миллионом цифр посредством sinsert. из другого потока удаляем по одному элементу посредством sremove. ну и попробуйте дождаться окончания процесса. <br /><br />по результатам оторвите руки написавшему эти функции и ноги тому, кто рекомендовал их использовать для обмена данными между потоками терминала и скрипта. <br />
			<i>21.11.2016 10:49:30, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20367/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20367/topic2285/</guid>
			<pubDate>Mon, 21 Nov 2016 10:49:30 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20365/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Здравствуйте,<br />Просьба рассказать подробнее, как Вы пришли к такому выводу? <br />
			<i>21.11.2016 10:40:11, Sergey Gorokhov.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20365/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20365/topic2285/</guid>
			<pubDate>Mon, 21 Nov 2016 10:40:11 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>table.s*</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message20314/topic2285/">table.s*</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день.<br /><br />Господа разработчики. Я правильно понимаю, что в функциях table.s* семафоры/состояние проверяется с частотой 10 раз в секунду или мне это только кажется?<br /><br />Спасибо. <br />
			<i>19.11.2016 00:00:21, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message20314/topic2285/</link>
			<guid>http://forum.quik.ru/messages/forum10/message20314/topic2285/</guid>
			<pubDate>Sat, 19 Nov 2016 00:00:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
