コード例 #1
0
ファイル: BenchMark.cs プロジェクト: karino2/wikipediaconv
        private void Report(string benchDir, PerfCounter counter)
        {
            var csvPath = benchDir + RESULT_CSV_NAME;
            var tmpPath = benchDir + "result_tmp.csv";

            using (var input = new StreamReader(csvPath))
            {
                using (var output = new StreamWriter(tmpPath))
                {
                    output.Write(input.ReadToEnd());
                    var bldr = new StringBuilder();
                    bldr.Append(DateTime.Now.ToString("yyyy/MM/dd HH:mm"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("AllBench"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("LocateBlock"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("LoadBlock"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("Action"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("Split"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("GetYomi"));
                    bldr.Append(",");
                    bldr.AppendFormat(" {0:0.00}", counter.GetTotalSeconds("Other"));
                    bldr.Append(", "); // for comment field.
                    output.WriteLine(bldr.ToString());
                }
            }
            var fi = new FileInfo(csvPath);

            fi.Delete();
            fi = new FileInfo(tmpPath);
            fi.MoveTo(csvPath);
        }