此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2145。
三次运行结果分别如下:
三次运行平均时间:(0.840 + 0.844 + 1.333)/ 3 = 1.006s(保留三位有效数字)
我猜测程序的瓶颈为单词计数的部分。
for (int i = 0; i < strArr.Length; i++) { if (strArr[i] != "") { if (strTab.Contains(strArr[i])) { //已有 strTab[strArr[i]] = (int)strTab[strArr[i]] + 1; } else { //没有 strTab.Add(strArr[i], 1); } } }
通过 profile 找出程序的瓶颈,通过下面四幅图分析得出最耗时的函数为ReadLine(),由此可知读文件是最耗时的部分。我的猜测是错误的,但是不知道如何对读取文件速度进行提高,因此未能给出提高程序性能的办法。