此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/7628
git地址:https://e.coding.net/sxy504/cipin3.git
要求0:以战争与和平作为输入文件,重读向由文件系统读入。连续三次运行,给出每次消耗时间、CPU参数
运行三次效果图如下:
第一次运行:
运行时间:2.628s
第二次运行:
运行时间:1.615s
第三次运行:
运行时间:1.536s
要求1:给出你猜测程序的瓶颈。你认为优化会有最佳效果,或者在上周在此处做过优化 (或考虑到优化,因此更差的代码没有写出)
在读文件时没有加缓存参数,所以在读大文件时会花费多写时间。
def rd_file(xgc): try: f = codecs.open(xgc, encoding='utf-8') except IOError as s: print(s) return None bf = f.read() f.close() stat(bf)
要求2: 通过 profile 找出程序的瓶颈。给出程序运行中最花费时间的3个函数(或代码片断)。要求包括截图。
耗时函数的排行为:
测试结果得:
耗时函数排行前三为:
- main函数,耗时1.395s
- feature4函数,耗时1.351s
- stat函数,耗时1.332s
要求3:根据瓶颈,"尽力而为"地优化程序性能
本题未能成功完成,修改多次不能将程序进行优化。
要求4:再次 profile,给出在 要求1 中的最花费时间的3个函数此时的花费。要求包括截图。
本题由于要求三未完成,因此要求4也未能完成。