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

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

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/jennawu/p/8666638.html

时间: 2024-10-08 02:59:58

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

软工第一次作业-01 软件工程的实践项目的自我目标

1.对实践项目完成后学习到的能力的预期: 完成实践项目,首先有利于自己编程代码的能力,对软工项目的热情也能有所提高,熟悉并熟练掌握项目的开发过程.培养团队合作精神.在实践课程结束之前,希望自己能掌握单独完成一个简单项目的能力. 2.对项目课程的期望: 希望课程能深度的讲授项目开发的操作过程,如何应用.并且能给予团队之间更多配合交流的机会.能不拒绝同学的一些提问和疑惑. 3.对项目的愿景规划: 在初期,投入百分百的热情去学习与交流,努力加强团队意识.之后,会努力完成自己所要做的任务,在团队中尽可能

软工第一次作业简单总结

PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 50h Development 开发 · Analysis · 需求分析 (包括学习新技术) 30h · Design Spec · 生成设计文档 5h · Design Review · 设计复审 (和同事审核设计文档) 1h · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1h · Design

软工第一次作业 - 我和计算机

我和计算机 ----阅读优秀博文,结合问题谈感想 第一部分:结缘计算机 计算机是在我记事的时候就接触到了的一个事物,不过在当时它的作用只有一个,就是给我打游戏娱乐,在上网之后又多了一个查资料的功能罢了.不得不说,除此之外,我和计算机这个行业以及在大学专业里学的任何内容都没有任何的结缘.可我为什么选择这个专业呢?大家都常说,21世纪是互联网的时代,学计算机意味着未来可以更好的找到工作,未来的发展空间是巨大的.于是在高考填写志愿以后,计算机专业就正式与我结缘了. 大家都知道没有兴趣学什么都不容易学好

软工第一次作业

我快速的看完了整本教材,发现有以下不太明白的地方: 1)不是已有单元测试了吗?为什么要进行回归测试? 2)什么时候选用敏捷开发? 3)MSF为开发思想与宣言,那与需求分析的联系? 4)多种测试方法,如何确定测试时使用哪种方法? 5)需求变动过多怎么办? 6)如何衡量软件的质量? 7)怎样才算是好的用户体验?

[软工]大作业答疑(三)

1. If a train leave from the central station from 9.00, and it should arrive at the destination at 10.00, since "only one train is assigned to a particular journey at a time", so can we assign another train to set off at 9.10? 回答:This question i

[2017BUAA软工]第一次个人项目 数独的生成与求解

零.Github链接 https://github.com/xxr5566833/sudo 一.PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间 10   Development 开发     · Analysis · 需求分析 (包括学习新技术)  120   · Design Spec · 生成设计文档  60   · Design

软工总结 作业

总的来说,这本书我还没看完.看全,但是有一些文段还是给我了不少启发.我向来痛恨不知所云的某些教材,就算有校对之人,但其作者的言语不工至极,好似其语文功底处于马里亚纳海沟之中,弄得人总是一头雾水.要是再碰上逻辑混乱一点的作者,就更加崩溃.这就像你写一个安装VC的教程,但是你没有照顾到所有种类的电脑环境,这样在安装的时候就会出各种错误,更为可气的是,VC这破玩意卸载器是无法完美利落的卸载自己的程序的,VC2015尤为甚之,所以只能借助类似absolute uninstaller之类的软件完整卸载.之

web测试实践作业进度报告三

进度列表 时间 任务 人员        星期五         阅读wen测试实践作业要求,明确任务目标,完成任务分工 全部人员        星期六 各自对本人任务进行详细规划,如制作调查问题,选取并熟悉前端性能分析工具, 详细了解使用所选待测产品和竞品产品等 全部人员        星期天 按阶段分工完成案例分析报告,并最终整理归档 全部人员 截至目前,此次web测试任务已经全部完成,所有材料均按要求整理完毕,并已在spoc中提交. 原文地址:https://www.cnblogs.com

软工课后作业01 P18第四题

答:我选取了 Games(游戏).Tools(工具软件).OperatingSystems(操作系统)三种软件进行分析. 1.王者荣耀(游戏) 王者荣耀是一款运营在Android.IOS平台上一类手游,这款游戏画面精美,用户可以选择不同角色来作战.它具有社交性,随时都可以玩,没有固定的游戏时段限制,该游戏有一定的盈利性. 2.QQ(手机应用) QQ是一款开发于1999年的基于Internet的IM软件,越来越多的人选择使用它,因为它支持在线聊天,视频聊天,自定义面板,远程控制,QQ邮箱,传送文件