Esempio n. 1
0
        private void RunInitializationTest(List <ITestResultsProvider> resultsProviders)
        {
            foreach (ITestResultsProvider resultsProvider in resultsProviders)
            {
                TestExecutor executor = new TestExecutor(new Test(0, "Initialize", TestType.Initialization, TestKind.Initialize),
                                                         resultsProvider, 1, false, false, true);
                PerformanceResults results = executor.Initialize();

                WriteIntoLog(resultsProvider, results);
            }
        }
Esempio n. 2
0
        private string GenerateModificatorsReport(PerformanceResults results)
        {
            StringBuilder builder = new StringBuilder();

            foreach (TestModificator modificator in results.Modificators.Keys)
            {
                builder.Append(modificator);
                builder.Append(" ");
                builder.Append(results.Modificators[modificator] ? "ON" : "OFF");

                if (results.Modificators.Keys.Last() != modificator)
                {
                    builder.Append(" , ");
                }
            }

            return(builder.ToString());
        }
Esempio n. 3
0
        private void btnRun_Click(object sender, EventArgs e)
        {
            if (cboxTool.SelectedIndex < 0)
            {
                MessageBox.Show("Please select the item in the list of data access tools");
                return;
            }

            int?executionNumber = GetExecutionNumber();

            if (executionNumber == null || executionNumber < 1)
            {
                MessageBox.Show("Please input the positive integer number as the execution number");
                return;
            }

            ITestResultsProvider resultsProvider =
                new ResultsProviderFactory().CreateProvider(cboxTool.SelectedIndex, checkTracking.Checked);

            if (resultsProvider == null)
            {
                MessageBox.Show("Unknown item in the data access tool list");
                return;
            }

            Test selectedTest = null;

            switch (tabControl.SelectedIndex)
            {
            case 0:
                selectedTest = (Test)cboxTestSelect.SelectedItem;
                break;

            case 1:
                selectedTest = (Test)cboxTestModify.SelectedItem;
                break;
            }

            TestExecutor executor =
                new TestExecutor(selectedTest, resultsProvider, executionNumber.Value, checkTracking.Checked, checkContextCaching.Checked);
            PerformanceResults results = executor.Execute();

            WriteIntoLog(resultsProvider, results);
        }
Esempio n. 4
0
        private void BenchmarkCompare()
        {
            System.IO.FileStream fsOriginal = System.IO.File.OpenRead(this.textOriginalFile.Text);
            System.IO.FileStream fsModified = System.IO.File.OpenRead(this.textModifiedFile.Text);

            ICompareService comparer = CreateComparer(TransportProtocolEnum.Http);

            comparer.SetClientCredentials("lnpair", "lnpair", "wsdev");
            comparer.SetTimeouts(1, 1, 10, 10);

            comparer.DataSent += new EventHandler <DataSentArgs>(comparer_CompareProgress);

            PerformanceResults result = comparer.BenchmarkCompare(fsOriginal, fsModified);

            this.labelOriginalConversionTime.Text = result.OriginalConversionTime.TotalMilliseconds + " ms";
            this.labelModifiedConversionTime.Text = result.ModifiedConversionTime.TotalMilliseconds + " ms";
            this.labelOriginalPreTime.Text        = result.OriginalPreProcessingTime.TotalMilliseconds + " ms";
            this.labelModifiedPreTime.Text        = result.ModifiedPreProcessingTime.TotalMilliseconds + " ms";
            this.labelComparisonTime.Text         = result.ComparisonTime.TotalMilliseconds + " ms";
            this.labelResultsTime.Text            = result.ResultsProcessingTime.TotalMilliseconds + " ms";

            this.labelTotal.Text = result.TotalExecutionTime.TotalMilliseconds + " ms";
        }
Esempio n. 5
0
 void Start()
 {
     menuInput          = gameObject.GetComponent <MenuInput>();
     performanceResults = gameObject.GetComponent <PerformanceResults>();
     StartCoroutine(comeInFromSides());
 }
Esempio n. 6
0
        public IEnumerable <PerformanceResults> Run(IEnumerable <SerializationConfig> configs = null)
        {
            if (configs == null)
            {
                configs = Enum.GetValues(typeof(SerializationConfig)).Cast <SerializationConfig>();
            }

            foreach (SerializationConfig serializationConfig in configs)
            {
                for (double ratio = 0; ratio <= 1.00001; ratio += 0.02)
                {
                    var performanceResult = new PerformanceResults {
                        SerializingConfig = serializationConfig, BinaryDataRatio = ratio
                    };

                    var    testClass        = new TestClass(performanceResult.NumberOfArrayElements, performanceResult.BinaryDataRatio);
                    byte[] serializedBytes  = null;
                    string serializedString = null;

                    Stopwatch stopwatch = Stopwatch.StartNew();
                    for (int i = 0; i < performanceResult.Iterations; i++)
                    {
                        switch (serializationConfig)
                        {
                        case SerializationConfig.Json:
                            serializedString = JsonConvert.SerializeObject(testClass);
                            break;

                        case SerializationConfig.Jcob:
                            serializedBytes = JcobConvert.SerializeObject(testClass);
                            break;

                        case SerializationConfig.Protobuf:
                            serializedBytes = testClass.ProtoSerialize();
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }
                    }

                    performanceResult.SerializationMs = stopwatch.ElapsedMilliseconds;

                    if (serializedString != null)
                    {
                        serializedBytes = Encoding.UTF8.GetBytes(serializedString);
                    }

                    performanceResult.Size = serializedBytes?.Length ?? -1;

                    if (serializedBytes == null)
                    {
                        throw new FormatException();
                    }
                    File.WriteAllBytes("SerializedTestClass.txt", serializedBytes);

                    stopwatch.Restart();
                    TestClass deserializedClass = null;
                    for (int i = 0; i < performanceResult.Iterations; i++)
                    {
                        switch (serializationConfig)
                        {
                        case SerializationConfig.Json:
                            deserializedClass = JsonConvert.DeserializeObject <TestClass>(serializedString);
                            break;

                        case SerializationConfig.Jcob:
                            deserializedClass = JcobConvert.DeserializeObject <TestClass>(serializedBytes);
                            break;

                        case SerializationConfig.Protobuf:
                            deserializedClass = serializedBytes.ProtoDeserialize <TestClass>();
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }
                    }

                    performanceResult.DeserializationMs = stopwatch.ElapsedMilliseconds;

                    if (deserializedClass == null)
                    {
                        throw new FormatException();
                    }

                    yield return(performanceResult);

                    if (serializationConfig != SerializationConfig.Jcob)
                    {
                        break;
                    }
                }
            }
        }
Esempio n. 7
0
 private void WriteIntoLog(ITestResultsProvider resultsProvider, PerformanceResults results)
 {
     gridViewResults.Rows.Insert(0, gridViewResults.Rows.Count + 1,
                                 resultsProvider.GetName() + ": " + results.Test.Name, GenerateModificatorsReport(results),
                                 results.AvgTimeCost.ToString(), results.TotalTimeCost.ToString());
 }