Exemple #1
0
        public void TestParser()
        {
            var errors   = new List <string>();
            var dirfiles = new List <string>();
            var sw       = new System.Diagnostics.Stopwatch();

            sw.Start();
            var valueSwProcessing = new System.Diagnostics.Stopwatch();
            var standardOut       = Console.Out;
            var x = 0;

            dirfiles.AddRange(GetTestFiles());
            foreach (var f in dirfiles)
            {
                Console.WriteLine((sw.ElapsedMilliseconds / 1000.0) + " " + f);
                ++x;
                var context = new Dictionary <string, string>();
                var lowerF  = DecTestUtil.ToLowerCaseAscii(f);
                var isinput = lowerF.Contains(".input");
                if (!lowerF.Contains(".input") &&
                    !lowerF.Contains(".txt") &&
                    !lowerF.Contains(".dectest") &&
                    !lowerF.Contains(".fptest"))
                {
                    continue;
                }
                using (var w = new StreamReader(f)) {
                    while (!w.EndOfStream)
                    {
                        var ln = w.ReadLine();
                        valueSwProcessing.Start();
                        DecTestUtil.ParseDecTest(ln, context);
                        valueSwProcessing.Stop();
                    }
                }
            }
            sw.Stop();
            // Total running time
            Console.WriteLine("Time: " + (sw.ElapsedMilliseconds / 1000.0) + " s");
            // Number processing time
            Console.WriteLine("ProcTime: " + (valueSwProcessing.ElapsedMilliseconds /
                                              1000.0) + " s");
            // Ratio of number processing time to total running time
            Console.WriteLine("Rate: " + (valueSwProcessing.ElapsedMilliseconds *
                                          100.0 / sw.ElapsedMilliseconds) + "%");
        }
Exemple #2
0
        public void TestParser()
        {
            var errors    = new List <string>();
            var dirfiles  = new List <string>();
            var slowlines = new List <string>();
            var sw        = new System.Diagnostics.Stopwatch();

            sw.Start();
            var valueSwProcessing = new System.Diagnostics.Stopwatch();
            var standardOut       = Console.Out;
            var x = 0;

            dirfiles.AddRange(GetTestFiles());
            foreach (var f in dirfiles)
            {
                ++x;
                var context = new Dictionary <string, string>();
                var lowerF  = DecTestUtil.ToLowerCaseAscii(f);
                var isinput = DecTestUtil.Contains(lowerF, ".input");
                if (!DecTestUtil.Contains(lowerF, ".input") &&
                    !DecTestUtil.Contains(lowerF, ".txt") &&
                    !DecTestUtil.Contains(lowerF, ".dectest") &&
                    !DecTestUtil.Contains(lowerF, ".fptest"))
                {
                    continue;
                }
                Console.WriteLine((sw.ElapsedMilliseconds / 1000.0) + " " + f);
                var i = 0;
                using (var w = new StreamReader(f)) {
                    while (!w.EndOfStream)
                    {
                        var ln = w.ReadLine();
                        ++i;
                        double em = sw.ElapsedMilliseconds / 1000.0;
                        valueSwProcessing.Start();
                        DecTestUtil.ParseDecTest(ln, context);
                        valueSwProcessing.Stop();
                        double em2 = sw.ElapsedMilliseconds / 1000.0;
                        if (em2 - em > 1)
                        {
                            foreach (var k in context.Keys)
                            {
                                slowlines.Add(k + ": " + context[k]);
                            }
                            slowlines.Add(ln);
                            Console.WriteLine(
                                ln.Substring(0, Math.Min(ln.Length, 200)));
                            Console.WriteLine("Processing time: " + (em2 - em) + " s");
                        }
                    }
                }
            }
            sw.Stop();
            // Total running time
            Console.WriteLine("Time: " + (sw.ElapsedMilliseconds / 1000.0) + " s");
            // Number processing time
            Console.WriteLine("ProcTime: " + (valueSwProcessing.ElapsedMilliseconds /
                                              1000.0) + " s");
            // Ratio of number processing time to total running time
            Console.WriteLine("Rate: " + (valueSwProcessing.ElapsedMilliseconds *
                                          100.0 / sw.ElapsedMilliseconds) + "%");
            // System.IO.File.WriteAllLines("slow.dectest",slowlines.ToArray());
        }