Тест времени подключения источников данных

Страницы: 1
RSS
Тест времени подключения источников данных
 
Добрый день,
По просьбе разработчиков
https://forum.quik.ru/messages/forum10/message73569/topic8440/#message73569
выкладываю для общего пользования
свой тест измерения времени подключения источников данных.
Так как ранее использовался очень большой скрипт,
то пришлось написать специально тест для общего пользования.
-------------------
В тесте используется два таймера.
Один - мой на основе высокоточного счетчика OC на СИ. Выкладывал его на форуме.  Его квант 0.1мкс.
Второй - на основе socket. Для исключения сомнения в измерениях. Его квант 1 мс.
-------------------
Начинающие писатели роботов, можете позаимствовать мое решение организации очереди.
Код
--тест скорости подключения источников данных -автор 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:\\QUIK_SCRIPT\\nk_bot\\"
Log=io.open(path..name..".log","w")
Ntp=0;    tp={}
local ds_int={INTERVAL_M1,INTERVAL_M5,INTERVAL_M30,INTERVAL_TICK};
function main()
   local t,int,tms,t1;
     while true do
      while Ntp>0 do
         t=tp[Ntp]; Ntp=Ntp-1 clas=t[1] sec=t[2]
         for i=1,#ds_int do ds={}
            t2=socket.gettime()*1000.
            nklib.startB();
            int=ds_int[i];
            local d,err; while d==nil do d,err=CreateDataSource(clas,sec,int); end
            d:SetEmptyCallback();
            t1=0.01*nklib.stopB();
            tms=(socket.gettime()*1000.-t2)//1
            Log:write("interval="..int..",sec="..tostring(sec)..",tnk="..t1.."мкс, tsocet="..(tms).."мc\n");Log:flush();
         end
      end
      sleep(1);
   end
end

function OnInit(pfile)  fconnect=isConnected(); end
function OnParam(c,s) Ntp=Ntp+1;    tp[Ntp]={c,s}; end
Это результаты работы теста на моем компе:
Код
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

Время подключения источников с интервалом 1,5,30 минут  составляет 30 мкс.
Время подключения тиков 12900 мкс. замедление в 400 раз.
==================
Демо сервер КВИК.
версия КВИК 11.1.0.45
Страницы: 1
Читают тему
Наверх