コード例 #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,
            });
        }
コード例 #2
0
 public CompariableMethods(int size, bool isMethodCaller)
 {
     if (isMethodCaller)
     {
         Classes    = new MethodCallWithClassArgumentTask(size);
         Structures = new MethodCallWithStructArgumentTask(size);
     }
     else
     {
         Classes    = new ClassArrayCreationTask(size);
         Structures = new StructArrayCreationTask(size);
     }
 }