public CPlaza2Connector() : base("Plaza2Connector") { _componentFactory = new CComponentFactory(_logger); //note. not possible to create in base class //Messenger = new CMessenger(); StockExchId = CodesStockExch._01_MoexFORTS; UseRealServer = CUtil.GetEnvVariableBool("USE_REAL_PLAZA2_SERVER"); Sounder = new CSounder(); LogServer = new CLogServer(); // Instruments = new CListInstruments(); //TO DO read last revisions from file ReadDataFromFiles(); (new System.Threading.Thread(ThreadDumpLastDataToFiles)).Start(); (new Task(TaskRoundtripTime)).Start(); //CreateGUIEvents(); //StartGateIfNeed(); OpenCgate(); // (new System.Threading.Thread(ThreadResourcesAnalyzer)).Start(); // string tmp = CUtil.GetTemp(); IsPossibleEmptyInstrCancellOrders = true; IsPossibleNativeCancellOrdByInstr = true; }
public TestLogPerf() { //System.Runtime.GCSettings.LatencyMode = System.Runtime.GCLatencyMode.LowLatency; // CUtil.IncreaseProcessPriority(); Thread.CurrentThread.Priority = ThreadPriority.Highest; InitTicks(); CDealsList dl = new CDealsList(); dl.DealsList = new List <CDealClass>(); CLogServer lgSrv = new CLogServer(); List <long> lstHighTck = new List <long>(); List <long> lstHighLogTck = new List <long>(); LogBuff = new CLoggerBuffered("TestLogPerf", lgSrv); (new Thread(ThreadLogProducer)).Start(); Stopwatch swTotal = new Stopwatch(); LogBuff.Log("--------------started----------------------------"); swTotal.Start(); long beforeTck = 0; long afterTck = 0; long deltaTck = 0; long beforeLogTck = 0; long afterLogTck = 0; long deltalogTck = 0; long deltaCycle = 0; for (int i = 0; i < 10000; i++) { beforeTck = swTotal.ElapsedTicks; int fac = 1; // for (int j = 1; j < 20; j++) // fac *= j; CDealsAgregator da = new CDealsAgregator(100, 1M); da.GenAggrPrice(sourceLst, dl.DealsList); //CDealsAgregator da = new CDealsAgregator(sourceLst, dl.DealsList, 100,1M); afterTck = swTotal.ElapsedTicks; deltaTck = afterTck - beforeTck; deltalogTck = afterLogTck - beforeLogTck; deltaCycle = beforeTck - afterLogTck; beforeLogTck = swTotal.ElapsedTicks; long d1 = 1; DateTime dt = DateTime.Now; string st1 = "sssssss"; decimal dc1 = 32132.24343M; LogMsg(new CLogStruct { I = i, DeltaTck = deltaTck, DeltaLogTck = deltalogTck, DeltaCycle = deltaCycle, D1 = d1, Dt = dt, St1 = st1, dc1 = dc1, LargeStr = " 121323232434gdfgdgdsfgdfgsdgdfgsfdgsdgdsfgsdfgsdfgdfgsdfgsdfgfdsgsdg" } ); if (deltaTck > 100 && i > 0) { lstHighTck.Add(deltaTck); } if (deltalogTck > 100) { lstHighLogTck.Add(deltalogTck); } //LogBuff.Log("i= " + i + " deltaTck=" + deltaTck + " deltaLogTck=" + deltalogTck+" " //+ d1+dt+st1+dc1 // +" 121323232434gdfgdgdsfgdfgsdgdfgsfdgsdgdsfgsdfgsdfgdfgsdfgsdfgfdsgsdg" //); afterLogTck = swTotal.ElapsedTicks; } swTotal.Stop(); Thread.Sleep(2000); LogBuff.Log("eclapsed ms=" + swTotal.ElapsedMilliseconds + " ticks=" + swTotal.ElapsedTicks); LogBuff.Log("high tick ======"); foreach (var v in lstHighTck) { LogBuff.Log(" tick=" + v); } LogBuff.Log("high tick log======"); foreach (var v in lstHighLogTck) { LogBuff.Log(" log tick=" + v); } LogBuff.Log("--------finished-------------------------------------------"); }