作者:几米小八_198 | 来源:互联网 | 2023-05-19 06:38
本文包括如下几点:Ⅰ第一次分析Ⅱ瓶颈分析Ⅲ第二次分析git链接:https:coding.netugmyznbpwordcount1gitⅠ第一次分析要求0:以《战争与和平》作为输入
本文包括如下几点:
Ⅰ第一次分析
Ⅱ瓶颈分析
Ⅲ第二次分析
git链接:https://coding.net/u/gmyznb/p/wordcount1/git
Ⅰ第一次分析
要求0:以《战争与和平 》作为输入文件,重读向由文件系统读入。连续三次运行,给出每次消耗时间、CPU参数。
截图如下:
平均时间:
Ⅱ瓶颈分析
要求1:给出你猜测程序的瓶颈。
我猜测我的程序的瓶颈在于判断词汇的时间和排序方式,影响了程序的时间
代码如下:
int GetWord(int start,int end,char* pBuf,char* word)
{
int i;
int j=0;
memset(word,0,sizeof(char));
for(i=start;i)
{
if(isalpha(pBuf[i]))
{
word[j]=
pBuf[i];
j++
;
}
else
{
if(j==
0)
{
continue;
}
word[j]=
'\0';
j=
0;
sum++
;
break;
}
}
return i;
}
要求2:通过 profile 找出程序的瓶颈。
要求3:根据瓶颈,"尽力而为"地优化程序性能。
对排序进行了优化。
Ⅲ第二次分析
要求4:再次 profile。