Example #1
0
        public static ChartData BuildChartDataForArrayCreation(
            IBenchmark benchmark, int repetitionsCount)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            foreach (var size in Constants.FieldCounts)
            {
                var classArray  = new ClassArrayCreationTask(size);
                var structArray = new StructArrayCreationTask(size);

                var classTime  = benchmark.MeasureDurationInMs(classArray, repetitionsCount);
                var structTime = benchmark.MeasureDurationInMs(structArray, repetitionsCount);

                classesTimes.Add(new ExperimentResult(size, classTime));
                structuresTimes.Add(new ExperimentResult(size, structTime));
            }


            return(new ChartData
            {
                Title = "Create array",
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }
Example #2
0
        public static ChartData BuildChartDataForMethodCall(
            IBenchmark benchmark, int repetitionsCount)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            foreach (var size in Constants.FieldCounts)
            {
                var methodCallClass  = new MethodCallWithClassArgumentTask(size);
                var methodCallStruct = new MethodCallWithStructArgumentTask(size);

                var classTime  = benchmark.MeasureDurationInMs(methodCallClass, repetitionsCount);
                var structTime = benchmark.MeasureDurationInMs(methodCallStruct, repetitionsCount);

                classesTimes.Add(new ExperimentResult(size, classTime));
                structuresTimes.Add(new ExperimentResult(size, structTime));
            }

            return(new ChartData
            {
                Title = "Call method with argument",
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }
 public ChartDataCreation(
     IBenchmark benchmark, int repetitionsCount, Func <int, ITask> structTask, Func <int, ITask> classTask)
 {
     foreach (var size in Constants.FieldCounts)
     {
         var time = benchmark.MeasureDurationInMs(structTask(size), repetitionsCount);
         structuresTimes.Add(new ExperimentResult(size, time));
         time = benchmark.MeasureDurationInMs(classTask(size), repetitionsCount);
         classesTimes.Add(new ExperimentResult(size, time));
     }
 }
        public static ChartData BuildChartsDataForClasses(IBenchmark benchmark, int repetitionsCount, bool isMethodCaller, string titleName)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            foreach (var size in Constants.FieldCounts)
            {
                var methods = new CompariableMethods(size, isMethodCaller);
                classesTimes.Add(new ExperimentResult(size, benchmark.MeasureDurationInMs(methods.Classes, repetitionsCount)));
                structuresTimes.Add(new ExperimentResult(size, benchmark.MeasureDurationInMs(methods.Structures, repetitionsCount)));
            }

            return(new ChartData
            {
                Title = titleName,
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }
Example #5
0
        public static ChartData ConductAnExperiment(
            IBenchmark benchmark, int repetitionsCount, ITaskFactory taskFactory, string title)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            foreach (var size in Constants.FieldCounts)
            {
                classesTimes.Add(new ExperimentResult(size,
                                                      (benchmark.MeasureDurationInMs(taskFactory.CreateNewTask(size, "Class"), repetitionsCount))));
                structuresTimes.Add(new ExperimentResult(size,
                                                         benchmark.MeasureDurationInMs(taskFactory.CreateNewTask(size, "Structure"), repetitionsCount)));
            }
            return(new ChartData
            {
                Title = title,
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }
Example #6
0
        public static ChartData BuildChartData(string title, IFact fact,
                                               IBenchmark benchmark, int repetitionsCount)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            foreach (var sz in Constants.FieldCounts)
            {
                classesTimes.Add(new ExperimentResult(sz,
                                                      (benchmark.MeasureDurationInMs(fact.CreateTask(sz, "Class"), repetitionsCount))));
                structuresTimes.Add(new ExperimentResult(sz,
                                                         benchmark.MeasureDurationInMs(fact.CreateTask(sz, "Structure"), repetitionsCount)));
            }
            return(new ChartData
            {
                Title = title,
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }
        public static ChartData BuildChartDataForArrayCreation(
            IBenchmark benchmark, int repetitionsCount)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            for (var i = 16; i <= 512; i *= 2)
            {
                classesTimes.Add(new ExperimentResult
                                     (i, benchmark.MeasureDurationInMs
                                         (new ClassArrayCreationTask(i), repetitionsCount)));
                structuresTimes.Add(new ExperimentResult
                                        (i, benchmark.MeasureDurationInMs
                                            (new StructArrayCreationTask(i), repetitionsCount)));
            }

            return(new ChartData
            {
                Title = "Create array",
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }
        public static ChartData BuildChartDataForMethodCall(
            IBenchmark benchmark, int repetitionsCount)
        {
            var classesTimes    = new List <ExperimentResult>();
            var structuresTimes = new List <ExperimentResult>();

            for (var i = 16; i <= 512; i *= 2)
            {
                classesTimes.Add(new ExperimentResult
                                     (i, benchmark.MeasureDurationInMs
                                         (new MethodCallWithClassArgumentTask(i), repetitionsCount)));
                structuresTimes.Add(new ExperimentResult
                                        (i, benchmark.MeasureDurationInMs
                                            (new MethodCallWithStructArgumentTask(i), repetitionsCount)));
            }

            return(new ChartData
            {
                Title = "Call method with argument",
                ClassPoints = classesTimes,
                StructPoints = structuresTimes,
            });
        }