第一次个人项目【词频统计】——测试样例分析&性能分析
2024-08-27 15:07:21
【空文件测试】(认为空文件行数为0)
【基本测试】
【大小写测试】
可以看出abcd同类型的词出现了三次,而单词树中存储的是ABCd,满足大小写要求。
【复杂文件测试】
前三项数据比较接近,但是单词和词组统计的个数稍有差异,因此导致了排名的差异。
【性能分析】
使用助教提供的数据集,在Release条件下跑出的时间大概七八十秒。说明平衡二叉树在大量数据的查找具有不错的性能。
程序运行指标如下:
主函数运行情况分析:
可以看出词组平衡树的插入,单文件信息获取以及同词组类型判断这三个函数占用的时间比较多,优化应当从这几函数考虑。
时间主要集中在strcmp,暂无优化方案
时间开销主要是函数isSamePhrase引起的,同上无较好解决方案。
从上面几幅图可以看出,时间开销比较明显的全部集中在系统调用的函数上,如strcmp,fgetc,所以合理的优化方案是改变程序的结构,考虑使用多线程,以提高CPU利用率和减少时间。
最新文章
- bzoj 2287: 【POJ Challenge】消失之物
- 对线程等待函数pthread_join二级指针参数分析
- cocos2dx中设置横竖版
- 告别where 1=1 最佳方案分享
- ASP判断文件地址是否有效
- [深入React] 1. 开发环境搭建
- java与数据结构(4)---java实现双向循环链表
- zoj3713 7Bit
- C#函数式编程-高阶函数
- Eclipse/MyEclipse 安裝後應該更改的設置
- python_eval的用法
- ubuntu下apache2-php-mysql的环境配置
- sqlserver数据库 视图相关
- ThinkPad T43续命记
- 总结一下《vue的使用》
- vCenter Single Sign On 5.1 best practices
- Ubuntu上CUDA环境搭建
- QQ群免IDKEY加群PHP源码
- 简单理解DNS解析流程(一)
- PAT 甲级 1142 Maximal Clique