<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Более быстрый перебор ключ - значение в таблице]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Более быстрый перебор ключ - значение в таблице форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 17 Apr 2026 21:19:46 +0300</pubDate>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74093/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_E7FDAdkr" href="/user/15910/" bx-tooltip-user-id="15910">Serge123</a> написал:<br />Вот загадочное и интересное сообщение: &nbsp;<noindex><a href="https://forum.quik.ru/messages/forum10/message34083/topic3921/#message34083" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message34083/topic3921/#message34083</a></noindex> <br />См. также typedef struct Table в &nbsp;<noindex><a href="https://www.lua.org/source/5.1/lobject.h.html" target="_blank" rel="nofollow">https://www.lua.org/source/5.1/lobject.h.html</a></noindex> <br />Можно ли как-то получить адрес этой структуры таблицы в программе на Lua и C, чтобы, скажем, напрямую читать<br /> <noindex><a href="https://www.lua.org/source/5.1/lobject.h.html#TValue" target="_blank" rel="nofollow">TValue</a></noindex> &nbsp;*array; &nbsp;/* array part */ ?<br />Т.е. в случае C минуя rawgeti и стек Lua?<br />=============<br /><br /><br />=============<br />Можно. &nbsp;Делал это на 5.3. <br />
			<i>29.01.2024 10:07:37, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74093/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74093/topic8478/</guid>
			<pubDate>Mon, 29 Jan 2024 10:07:37 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74083/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Старый lobject.h попался, вот для Lua 5.4:<br /><noindex><a href="https://www.lua.org/source/5.4/lobject.h.html" target="_blank" rel="nofollow">https://www.lua.org/source/5.4/lobject.h.html</a></noindex> <br />
			<i>29.01.2024 00:08:27, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74083/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74083/topic8478/</guid>
			<pubDate>Mon, 29 Jan 2024 00:08:27 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74082/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Вот загадочное и интересное сообщение: <noindex><a href="https://forum.quik.ru/messages/forum10/message34083/topic3921/#message34083" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message34083/topic3921/#message34083</a></noindex><br />См. также typedef struct Table в <noindex><a href="https://www.lua.org/source/5.1/lobject.h.html" target="_blank" rel="nofollow">https://www.lua.org/source/5.1/lobject.h.html</a></noindex><br />Можно ли как-то получить адрес этой структуры таблицы в программе на Lua и C, чтобы, скажем, напрямую читать<br /><noindex><a href="https://www.lua.org/source/5.1/lobject.h.html#TValue" target="_blank" rel="nofollow">TValue</a></noindex> *array; &nbsp;/* array part */ ?<br />Т.е. в случае C минуя rawgeti и стек Lua? <br />
			<i>28.01.2024 23:57:28, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74082/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74082/topic8478/</guid>
			<pubDate>Sun, 28 Jan 2024 23:57:28 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74081/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_gDOkdYl3" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a> написал:<br /> Для массивов так, конечно, быстрее. <br />pairs применяют для хеш таблиц, где простой итератор не применить.<br />=============<br />Я конечно пошутил, но все же полагаю что если (по возможности) использовать массив вместо хэш-таблицы то перебор будет быстрее.<br />Во всяком случае такие выводы у меня получились при сравнении обработки таблицы обезличенных сделок с приличным объемом. <br />in pairs проигрывает построчному перебору. <br />
			<i>27.01.2024 22:15:02, Kolossi.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74081/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74081/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 22:15:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74057/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_4vtFfuJc" href="/user/1717/" bx-tooltip-user-id="1717">Kolossi</a> написал:<br />А вот так:<br /><br />for k=1,#t do <br /> &nbsp;local v=t&#91;k&#93;<br />end<br /><br />))<br />=============<br />Для массивов так, конечно, быстрее. <br />pairs применяют для хеш таблиц, где простой итератор не применить. <br />
			<i>27.01.2024 13:09:06, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74057/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74057/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 13:09:06 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74056/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			А вот так:<br /><br />for k=1,#t do <br /> &nbsp;local v=t&#91;k&#93;<br />end<br /><br />)) <br />
			<i>27.01.2024 12:54:19, Kolossi.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74056/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74056/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 12:54:19 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74055/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Опять микросекунды ловим... посмотрел сейчас свой скрипт: там 8 циклов while, 38 циклов for, и только ДВА из них записаны НЕ в виде &quot;for i=k,n do...&quot;. Один с отрицательным шагом (там нужно пробежаться по таймфреймам именно от тяжёлых к лёгким) и ещё один &quot;for l in F:lines() do...&quot; заглатывает строки из файла данных при запуске скрипта. Все ключи всех массивов - натуральные числа, иногда с нулём, и сделано это вовсе не для какого-то несчастного быстродействия, а так, на всякий случай, чтобы не искать на свою жопу приключений - считать ключи индексами надёжнее, так меньше шансов нарваться на какой-то хитрый глюк. <br />
			<i>27.01.2024 11:07:21, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74055/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74055/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 11:07:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74051/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Не думаю, что будут заметный эффект. Результат выполнения функции pairs есть функция next и t. Т.е. это просто синтаксический сахар, и это описано в книге по языку.<br />Минус один вызов, да. <br />
			<i>27.01.2024 09:56:13, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74051/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74051/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 09:56:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74050/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Т.к. экономия происходит за счёт вызова функции pairs, которая в цикле вызывается лишь 1 раз. <br />
			<i>27.01.2024 01:12:09, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74050/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74050/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 01:12:09 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74049/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Прверял на таблице из 10-ти элементов. Если элементов будет больше, думаю, выигрыш во времени будет меньше. <br />
			<i>27.01.2024 01:08:14, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74049/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74049/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 01:08:14 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Более быстрый перебор ключ - значение в таблице</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message74048/topic8478/">Более быстрый перебор ключ - значение в таблице</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Сейчас обнаружил, что перебор в форме
====code====
<pre> for key, val in next, t do
&nbsp;&nbsp;local k = key
&nbsp;&nbsp;local v=val
 end
</pre>
=============
Работает ~ на 10% быстрее, чем в распространённой форме
====code====
<pre> for key, val in pairs(t) do
&nbsp;&nbsp;local k = key
&nbsp;&nbsp;local v=val
 end
</pre>
============= <br />
			<i>27.01.2024 01:04:36, Serge123.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message74048/topic8478/</link>
			<guid>http://forum.quik.ru/messages/forum10/message74048/topic8478/</guid>
			<pubDate>Sat, 27 Jan 2024 01:04:36 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
