public void Repeat_1_Average() { var repeated = new RepeatAverageBenchmark<string>(inner, 1); var result = repeated.MeasureConfiguration("Foo"); Assert.AreEqual(10.0, result["Time"]); Assert.AreEqual(30.0, result["Memory"]); }
public void Repeat_10_Average() { var repeated = new RepeatAverageBenchmark <string>(inner, 10); var result = repeated.MeasureConfiguration("Bar"); Assert.AreEqual(55.0, result["Time"]); Assert.AreEqual(120.0, result["Memory"]); }
private void OptimizeAnalysis(Configuration baseConfiguration) { IList <MeasuredConfiguration <Configuration> > measurements; var benchmark = CreateBenchmark(); if (options.Repetitions > 1) { benchmark = new RepeatAverageBenchmark <Configuration>(benchmark, options.Repetitions); } switch (options.Method) { case OptimizationAlgorithm.Full: measurements = PerformFullExploration(baseConfiguration, benchmark); break; case OptimizationAlgorithm.Genetic: measurements = PerformGeneticAlgorithm(baseConfiguration, benchmark, options); break; default: throw new ArgumentOutOfRangeException("options", "The chosen method is not supported"); } if (!options.All) { Console.WriteLine("Starting Pareto filter for dimensions Time and Memory"); var paretoDimensions = new Dictionary <string, DimensionRating>(); paretoDimensions.Add("Time", DimensionRating.SmallerIsBetter); paretoDimensions.Add("Memory", DimensionRating.SmallerIsBetter); var pareto = new ParetoFilter <Configuration>(paretoDimensions); measurements = pareto.Filter(measurements).ToList(); } else { Console.WriteLine("Skipping Pareto filter"); } Console.WriteLine("Saving results to disk."); if (measurements.Count == 1) { repository.Save(measurements[0].Configuration, options.Configuration); } else { using (var csv = new StreamWriter(Path.ChangeExtension(options.Configuration, "csv"), false)) { csv.Write("Configuration"); foreach (var metric in benchmark.Metrics) { csv.Write(";" + metric); } csv.WriteLine(); var index = 1; var baseName = Path.ChangeExtension(options.Configuration, null); foreach (var config in measurements) { var fileName = string.Format("{0}_{1}.xmi", baseName, index); csv.Write(Path.GetFileNameWithoutExtension(fileName)); foreach (var metric in benchmark.Metrics) { csv.Write(";"); csv.Write(config.Measurements[metric]); } csv.WriteLine(); repository.Save(config.Configuration, fileName); index++; } } } }
public void Repeat_0_Average() { var repeated = new RepeatAverageBenchmark <string>(inner, 0); }
public void Repeat_Null_Average() { var repeated = new RepeatAverageBenchmark <string>(null); }
public void Repeat_Null_Average() { var repeated = new RepeatAverageBenchmark<string>(null); }
public void Repeat_0_Average() { var repeated = new RepeatAverageBenchmark<string>(inner, 0); }