private Stopwatch ExecuteTest <T>(IBenchmark benchmark, IScenarioStrategy strategy, ref List <long> delays) where T : BaseModel { var stopwatch = new Stopwatch(); if (strategy is JustReadsStrategy) { //populateDB benchmark.Test <T>(new JustInsertsStrategy { CountOfOperations = strategy.CountOfOperations }); ModelFactory._iterator = ModelFactory.Max; } if (strategy is ReadsToWritesWithRatioStrategy) { benchmark.Test <T>(new JustInsertsStrategy { CountOfOperations = (int)(strategy.CountOfOperations * 0.9) }); } stopwatch.Start(); benchmark.Test <T>(strategy); stopwatch.Stop(); benchmark.Dispose(); delays = benchmark.Delays; return(stopwatch); }
public void Test <T>(IScenarioStrategy scenario) where T : BaseModel { var mf = new ModelFactory(); var dataType = mf.GetModelDataType <T>(); scenario.ExecuteStrategy(_db, dataType); Delays = scenario.Delays; }
public Result TestSingle <T>(IBenchmark benchmark, IScenarioStrategy strategy) where T : BaseModel { var delays = new List <long>(); var stopwatch = ExecuteTest <T>(benchmark, strategy, ref delays); return(new Result { Db = benchmark.ToString(), Time = stopwatch.ElapsedMilliseconds, Delays = delays }); }