软工第一次作业 进度记录三 简单的性能分析

Posted Jenna_Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软工第一次作业 进度记录三 简单的性能分析相关的知识,希望对你有一定的参考价值。

到了今天,编码工作已经基本完成。除了非文本文件的字符、单词计数仍然和标准答案不一样以外,文本文件计数都是正确的,而且效率较高。非文本文件的读取大概无解了,不打算修改了。

对于助教给出的样例,visual studio生成的Release版本exe能在30s内完成,linux下经过少许修改生成的可执行文件大约20s完成。

 

在visual studio上进行了一个简单的性能测试。分析如下:

1. fclose函数占用非独占时间最多,几近20%,但占用独占时间少。说明文件操作依然较慢,尤其是测试集中小文件较多。

2. 对词组的排序占据时间第二多,占11.36%。因为只需要查找前十个,因此我采用的是在统计结束后插入排序。暂时没有想到优化方案。

3. 对单词、词组的释放占据了第三多的时间,占11.14%。我的数据是动态分配内存存储的,所以这里时间多也很正常。考虑到现有性能已经较好,希望节省空间,而且就算更改为静态方式存储对性能改善也不会太大,还是维持现有的方案。

4. 占据第四多时间的依然是文件流操作……

总结:我原本以为string会成为性能瓶颈,结果并没有。文件操作比我想象中费时。

以上是关于软工第一次作业 进度记录三 简单的性能分析的主要内容,如果未能解决你的问题,请参考以下文章

2021秋软工实践第一次结对编程作业

软工网络15个人作业3——案例分析(叶城龙 201521123109)

软工网络15个人作业3——案例分析

软工网络15个人作业3——案例分析

软工网络15个人作业3——案例分析

软工网络15个人作业3——案例分析