Esempio n. 1
0
            /// <summary>
            /// Get the results of this comparison as a list of arrays of strings
            /// </summary>
            /// <returns></returns>
            internal List <string[]> GetComparisonData()
            {
                if (!BaseBenchmarkFound)
                {
                    return(null);
                }

                var baseData  = new string[] { BaseResult.Method, BaseResult.Graph, "Base", BaseResult.MeanString, BaseResult.ErrorString, BaseResult.StdDevString };
                var newData   = new string[] { "", "", "New", NewResult.MeanString, NewResult.ErrorString, NewResult.StdDevString };
                var deltaData = new string[] { "", "", "", MeanDelta.ToString() + "%", ErrorDelta.ToString() + "%", StdDevDelta.ToString() + "%",
                                               Enum.GetName(typeof(ComparisonResultState), ResultState) };
                var resultData = new string[] { };

                return(new List <string[]> {
                    baseData, newData, deltaData
                });
            }
Esempio n. 2
0
            /// <summary>
            /// Log the results of this comparison to the console
            /// </summary>
            /// <param name="columnWidths"></param>
            internal void LogComparison(List <int> columnWidths)
            {
                // Make sure baseline data has been found. If not, log an error message for this comparison.
                if (!BaseBenchmarkFound)
                {
                    var fc = Console.ForegroundColor;
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Baseline bechmark results do not contain data for " + NewResult.Method + "-" + NewResult.Graph);
                    Console.ForegroundColor = fc;
                    return;
                }

                // Log Base data
                var baseData = new string[] { BaseResult.Method, BaseResult.Graph, "Base", BaseResult.MeanString, BaseResult.ErrorString, BaseResult.StdDevString };

                for (int i = 0; i < baseData.Length; i++)
                {
                    baseData[i] = (baseData[i] + " ").PadLeft(columnWidths[i], ' ');
                }
                Console.WriteLine("|" + string.Join("|", baseData) + "|");

                // Log New data
                var newData = new string[] { "", "", "New", NewResult.MeanString, NewResult.ErrorString, NewResult.StdDevString };

                for (int i = 0; i < newData.Length; i++)
                {
                    newData[i] = (newData[i] + " ").PadLeft(columnWidths[i], ' ');
                }
                Console.WriteLine("|" + string.Join("|", newData) + "|");

                // Log Delta data
                var meanDeltaString = MeanDelta >= 0 ? "+" + MeanDelta.ToString() : MeanDelta.ToString();
                var deltaData       = new string[] { "", "", "", meanDeltaString + "%", ErrorDelta.ToString() + "%", StdDevDelta.ToString() + "%" };

                Console.Write("|");
                for (int i = 0; i < deltaData.Length; i++)
                {
                    var deltaItem = (deltaData[i] + " ").PadLeft(columnWidths[i], ' ');
                    if (i == 3)
                    {
                        var fc = Console.ForegroundColor;
                        Console.ForegroundColor = MeanDelta < 0 ? ConsoleColor.Green : ConsoleColor.Red;
                        Console.Write(deltaItem);
                        Console.ForegroundColor = fc;
                        Console.Write("|");
                    }
                    else
                    {
                        Console.Write(deltaItem + "|");
                    }
                }
                // log final result of comparison
                var resultString = Enum.GetName(typeof(ComparisonResultState), this.ResultState);

                Console.Write(resultString);

                Console.Write("\n");
            }