sxy504

导航

20190919-3效能分析

 

此作业要求参见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个函数(或代码片断)。要求包括截图。

耗时函数的排行为:

测试结果得:

耗时函数排行前三为:

  1. main函数,耗时1.395s
  2. feature4函数,耗时1.351s
  3. stat函数,耗时1.332s

 

要求3:根据瓶颈,"尽力而为"地优化程序性能

本题未能成功完成,修改多次不能将程序进行优化。

 

 

 

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

本题由于要求三未完成,因此要求4也未能完成。

 

posted on 2019-09-25 19:30  sxy504  阅读(131)  评论(0编辑  收藏  举报