2

我创建了一个应用程序,它将在服务器上运行并从客户端接收数据包。应用程序的工作是接收数据包,解析它们并分析它并生成结果。我的数据包格式可接受,然后我将它们写入 csv 文件或生成日志文件(如果它们的格式不正确)。我的应用程序运行良好,但是当我对应用程序的性能进行分析时,我发现大部分 cpu 周期或时间都花在了写入 csv 文件和写入日志文件上。如果 csv 文件变大,那么在写入 csv 文件时会花费太多时间或周期。以下是我写入日志文件和 csv 文件的代码:-

TextWriter tsw = new StreamWriter(@filename, true);
                    tsw.Write(DateTime.Now.ToString("HH:mm:ss") + " ");
                    tsw.WriteLine("Message recieved from client(" + socketForClient.RemoteEndPoint + ") : ");
                    tsw.WriteLine();
                    tsw.Close();

static private void csv_print(string pol, params string[] printall)
    {
        string filename = string.Format(pol + ".csv");
        TextWriter tsw = new StreamWriter(@filename, true);
        for (int i = 0; i < printall.Length; i++)
        {
            tsw.Write("\"" + printall[i] + "\",");
        }
        tsw.Write(Environment.NewLine);
        tsw.Close();
    }

那么他们有没有更好更快的写入日志文件和 csv 文件的方法(当 csv 文件中的数据变大时)?

4

0 回答 0