此作业要求参见 https://edu.cnblogs.com/campus/nenu/2019fall/homework/7628
代码地址 https://e.coding.net/ddd111/1.git
要求0 以 战争与和平 作为输入文件,重读向由文件系统读入。连续三次运行,给出每次消耗时间、CPU参数。 (2分)
第一次运行截图
运行时间:3.380s
第二次运行截图
运行时间:3.108s
第三次运行截图
运行时间:2.994s
CPU参数:Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz 2.60GHz
平均时间:3.160s
要求1 给出你猜测程序的瓶颈。你认为优化会有最佳效果,或者在上周在此处做过优化 (或考虑到优化,因此更差的代码没有写出) 。
由于我的上次作业中功能4没有实现,所以本次测试对象为韩昊同学的程序。代码地址为https://e.coding.net/hanhao/hanhaoceshi.git
要求2 通过 profile 找出程序的瓶颈。给出程序运行中最花费时间的3个函数(或代码片断)。要求包括截图。 (5分)
测试结果可见,最费时的是以下三个函数,调用次数及运行时间如下:
函数 | 调用次数 | 运行时间 |
deal_Redundantwords() | 1 | 1.258s |
countNumber() | 1 | 2.086s |
split() | 1 | 0.113s |
要求3 根据瓶颈,"尽力而为"地优化程序性能。 (5分)
对于功能4我还没有完全弄懂,请教学长和同学之后会完成,并且对韩昊的代码进一步优化。
要求4 再次 profile,给出在 要求1 中的最花费时间的3个函数此时的花费。要求包括截图。(2分)
针对韩昊修改后的代码再次profile:
优化后函数deal_Redundantwords()、countNumber()、split()运行时间分别为:1.002s、1.699s、0.100s。