20190919-3 效能分析

此作业要求参见 https://edu.cnblogs.com/campus/nenu/2019fall/homework/7628

代码地址 https://e.coding.net/ddd111/1.git

要求0 以 战争与和平 作为输入文件,重读向由文件系统读入。连续三次运行,给出每次消耗时间、CPU参数。 (2分)

第一次运行截图

 20190919-3 效能分析_第1张图片

运行时间:3.380s

第二次运行截图

 20190919-3 效能分析_第2张图片

运行时间:3.108s

第三次运行截图

 20190919-3 效能分析_第3张图片

运行时间: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分)

 20190919-3 效能分析_第4张图片

测试结果可见,最费时的是以下三个函数,调用次数及运行时间如下:

函数 调用次数 运行时间
deal_Redundantwords() 1 1.258s
countNumber() 1 2.086s
split() 1 0.113s

 

 

 

 

 

要求3 根据瓶颈,"尽力而为"地优化程序性能。 (5分)

对于功能4我还没有完全弄懂,请教学长和同学之后会完成,并且对韩昊的代码进一步优化。

要求4 再次 profile,给出在 要求1 中的最花费时间的3个函数此时的花费。要求包括截图。(2分)

针对韩昊修改后的代码再次profile:

20190919-3 效能分析_第5张图片

优化后函数deal_Redundantwords()、countNumber()、split()运行时间分别为:1.002s、1.699s、0.100s。

 

 

 

你可能感兴趣的:(20190919-3 效能分析)