示例#1
0
        private static void Main(string[] args)
        {
            Options.Parse(args);
            //CalculateIterationAverage(_directory);
            //check that the file exists before attempting to parse
            if (!Directory.Exists(_directory))
            {
                Console.WriteLine("Directory \"{0}\" does not exist", _directory);
                return;
            }

            //List<Algorithm> algorithms = CIlibParserOld.ParseDirectory(directory);
            CIlibParser      parser     = new FullParser();
            List <Algorithm> algorithms = parser.ParseDirectory(_directory);

            string outputPath = Path.Combine(_directory, "averages");

            CalculateIterationAverage(algorithms, outputPath);
        }
示例#2
0
        static void Main(string[] args)
        {
            options.Parse(args);

            //check that the file exists before attempting to parse
            if (!Directory.Exists(directory))
            {
                Console.WriteLine("Directory \"{0}\" does not exist", directory);
                return;
            }

            //List<Algorithm> algorithms = CIlibParserOld.ParseDirectory(directory);
            CIlibParser      parser     = new FullParser();
            List <Algorithm> algorithms = parser.ParseDirectory(directory);

            string outputPath = Path.Combine(directory, "averages");

            if (!Directory.Exists(outputPath))
            {
                Directory.CreateDirectory(outputPath);
            }

            foreach (string measure in algorithms[0].Measurements.Select(x => x.Name))
            {
                string fileName = Path.Combine(outputPath, $"{measure}.csv");
                using (TextWriter writer = new StreamWriter(fileName))
                {
                    writer.WriteLine("Iteration,{0}", string.Join(",", algorithms.Select(x => x.Name)));

                    //TODO: sort the iterations?
                    foreach (int iteration in algorithms[0].Measurements[0].Iterations)
                    {
                        string values = string.Join(",",
                                                    algorithms.Select(x => x.Measurements.Find(m => m.Name == measure)[iteration].Average));
                        writer.WriteLine($"{iteration}, {values}");
                    }
                }
            }
        }