20180925-3 效能分析

 此作业要求参见: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(),由此可知读文件是最耗时的部分。我的猜测是错误的,但是不知道如何对读取文件速度进行提高,因此未能给出提高程序性能的办法。

 

 

posted @ 2018-10-08 12:18  王硕Ary  阅读(108)  评论(0编辑  收藏  举报