我创建了一个将在服务器上运行并从客户端接收数据包的应用程序。应用程序作业是接收数据包,解析数据包并对其进行分析并生成结果。我的数据包是可接受的格式,然后我将它们写入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文件中的数据变大时)?