public TestDealsAggregator() { LoadData1(); CDealsAgregator da = new CDealsAgregator(100, 1M); da.GenAggrPrice(sourceLst, destLst); int i = 0; TestDealStruct(destLst[i++], 2, EnmDealDir.Buy, 73000); TestDealStruct(destLst[i++], 1, EnmDealDir.Buy, 73000); TestDealStruct(destLst[i++], 1, EnmDealDir.Buy, 73000); TestDealStruct(destLst[i++], 1, EnmDealDir.Sell, 77571); TestDealStruct(destLst[i++], 2, EnmDealDir.Buy, 73040); TestDealStruct(destLst[i++], 4, EnmDealDir.Sell, 77544); TestDealStruct(destLst[i++], 1, EnmDealDir.Sell, 77557); TestDealStruct(destLst[i++], 2, EnmDealDir.Sell, 73020); LoadData2(); da.GenAggrPrice(sourceLst, destLst); TestDealStruct(destLst[i++], 2, EnmDealDir.Sell, 73020); System.Threading.Thread.Sleep(0); }
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-------------------------------------------"); }
public TestTicks() { string d = DateTime.Now.ToString("yyy_MM_dd__hh_mm_ss"); CLogger logger = new CLogger("TestTicks_" + d, false); swTot.Reset(); swTot.Start(); InitTicks(); CDealsList dl = new CDealsList(); dl.DealsList = new List <CDealClass>(); List <long> lstDi = new List <long>(); for (int j = 0; j < 3; j++) { for (int i = 0; i < 900000; i++) { lstTotBeginMs.Add(swTot.ElapsedMilliseconds); lstTotBeginTicks.Add(swTot.ElapsedTicks); sw.Reset(); sw.Start(); CDealsAgregator da = new CDealsAgregator(100, 1M); da.GenAggrPrice(sourceLst, dl.DealsList); //CDealsAgregator da = new CDealsAgregator(sourceLst, dl.DealsList, 100,1M); sw.Stop(); lstMS.Add(sw.ElapsedMilliseconds); //lstTicks.Add(sw.ElapsedTicks); lstTotEndMs.Add(swTot.ElapsedMilliseconds); lstTotEndTicks.Add(swTot.ElapsedTicks); if (i > 1) { long di = lstTotBeginMs[i] - lstTotBeginMs[i - 1]; if (di > 10) { lstDi.Add(di); } } // System.Threading.Thread.Sleep(1); } swTot.Stop(); lstTotBeginMs.Clear(); lstTotBeginTicks.Clear(); lstTotEndMs.Clear(); lstTotEndTicks.Clear(); lstMS.Clear(); } swFile.Reset(); swFile.Start(); for (int i = 0; i < lstTotBeginTicks.Count; i++) { logger.Log("__________________________________"); logger.Log("i=" + i); logger.Log("iter begin " + lstTotBeginMs[i] + " | " + lstTotBeginTicks[i]); logger.Log("iter end " + lstTotEndMs[i] + " | " + lstTotEndTicks[i]); logger.Log("__________________________________"); } swFile.Stop(); for (int i = 0; i < lstDi.Count; i++) { logger.Log(lstDi[i].ToString()); } logger.Flush(); System.Threading.Thread.Sleep(1000); }