<?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>Wed, 22 Apr 2026 10:03:26 +0300</pubDate>
		<item>
			<title>Тест  времени  подключения источников данных</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum17/message73571/topic8447/">Тест  времени  подключения источников данных</a></b> в форуме <a href="http://forum.quik.ru/forum17/">Обмен опытом</a>. <br />
			Добрый день,<br />По просьбе разработчиков<br /><noindex><a href="https://forum.quik.ru/messages/forum10/message73569/topic8440/#message73569" target="_blank" rel="nofollow">https://forum.quik.ru/messages/forum10/message73569/topic8440/#message73569</a></noindex><br /> выкладываю для общего пользования <br />свой тест измерения времени подключения источников данных.<br />Так как ранее использовался очень большой скрипт, <br />то пришлось написать специально тест для общего пользования. <br />-------------------<br />В тесте используется два таймера.<br />Один - мой на основе высокоточного счетчика OC на СИ. Выкладывал его на форуме. &nbsp;Его квант 0.1мкс. <br />Второй - на основе socket. Для исключения сомнения в измерениях. Его квант 1 мс.<br />------------------- <br /><B>Начинающие писатели роботов, можете позаимствовать мое решение организации очереди.</B>
====code====
<pre>--тест скорости подключения источников данных -автор nikolz
name="testnk"
paths = "D:/nkarray/"
package.cpath =paths.."?.dll";
require "nkarray"
p2 = "D:/luasocket/"
package.cpath =package.cpath ..";"..p2.."?.dll";
package.path =package.path..p2.."?.lua;"
socket = require("socket")
path = "D:&#92;&#92;QUIK_SCRIPT&#92;&#92;nk_bot&#92;&#92;"
Log=io.open(path..name..".log","w")
Ntp=0; &nbsp;&nbsp;&nbsp;tp={}
local ds_int={INTERVAL_M1,INTERVAL_M5,INTERVAL_M30,INTERVAL_TICK};
function main()
&nbsp;&nbsp;&nbsp;local t,int,tms,t1;
&nbsp;&nbsp;&nbsp;&nbsp; while true do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while Ntp&#62;0 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t=tp&#91;Ntp&#93;; Ntp=Ntp-1 clas=t&#91;1&#93; sec=t&#91;2&#93;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i=1,#ds_int do ds={}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t2=socket.gettime()*1000.
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nklib.startB();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int=ds_int&#91;i&#93;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local d,err; while d==nil do d,err=CreateDataSource(clas,sec,int); end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d:SetEmptyCallback();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1=0.01*nklib.stopB();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tms=(socket.gettime()*1000.-t2)//1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Log:write("interval="..int..",sec="..tostring(sec)..",tnk="..t1.."мкс, tsocet="..(tms).."мc&#92;n");Log:flush();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1);
&nbsp;&nbsp;&nbsp;end
end

function OnInit(pfile)&nbsp;&nbsp;fconnect=isConnected(); end
function OnParam(c,s) Ntp=Ntp+1; &nbsp;&nbsp;&nbsp;tp&#91;Ntp&#93;={c,s}; end
</pre>
=============
Это результаты работы теста на моем компе:
====code====
<pre>interval=1,sec=VTBR,tnk=39.41мкс, tsocet=0.0мc
interval=5,sec=VTBR,tnk=20.17мкс, tsocet=0.0мc
interval=30,sec=VTBR,tnk=17.82мкс, tsocet=0.0мc
interval=0,sec=VTBR,tnk=13072.46мкс, tsocet=130.0мc

interval=1,sec=VSMO,tnk=57.81мкс, tsocet=0.0мc
interval=5,sec=VSMO,tnk=21.82мкс, tsocet=0.0мc
interval=30,sec=VSMO,tnk=21.73мкс, tsocet=0.0мc
interval=0,sec=VSMO,tnk=13581.32мкс, tsocet=135.0мc

interval=1,sec=UGLD,tnk=57.16мкс, tsocet=0.0мc
interval=5,sec=UGLD,tnk=25.99мкс, tsocet=0.0мc
interval=30,sec=UGLD,tnk=26.66мкс, tsocet=1.0мc
interval=0,sec=UGLD,tnk=12974.53мкс, tsocet=128.0мc

interval=1,sec=NMTP,tnk=57.63мкс, tsocet=0.0мc
interval=5,sec=NMTP,tnk=19.32мкс, tsocet=0.0мc
interval=30,sec=NMTP,tnk=17.54мкс, tsocet=0.0мc
interval=0,sec=NMTP,tnk=12912.37мкс, tsocet=129.0мc

interval=1,sec=VRSB,tnk=35.37мкс, tsocet=0.0мc
interval=5,sec=VRSB,tnk=27.25мкс, tsocet=0.0мc
interval=30,sec=VRSB,tnk=21.7мкс, tsocet=0.0мc
interval=0,sec=VRSB,tnk=12604.62мкс, tsocet=125.0мc

interval=1,sec=SIBN,tnk=34.2мкс, tsocet=0.0мc
interval=5,sec=SIBN,tnk=43.41мкс, tsocet=0.0мc
interval=30,sec=SIBN,tnk=18.91мкс, tsocet=0.0мc
interval=0,sec=SIBN,tnk=12793.29мкс, tsocet=127.0мc

</pre>
=============
Время подключения источников с интервалом 1,5,30 минут &nbsp;составляет 30 мкс.<br />Время подключения тиков 12900 мкс. замедление <B>в 400 раз. </B><br />==================<br />Демо сервер КВИК.<br />версия КВИК 11.1.0.45 <br />
			<i>11.01.2024 08:17:05, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum17/message73571/topic8447/</link>
			<guid>http://forum.quik.ru/messages/forum17/message73571/topic8447/</guid>
			<pubDate>Thu, 11 Jan 2024 08:17:05 +0300</pubDate>
			<category>Обмен опытом</category>
		</item>
	</channel>
</rss>
