效能分析

作业要求https://edu.cnblogs.com/campus/nenu/2018fall/homework/2145

git地址https://git.coding.net/xucs/xiaonengfenxi.git

要求0

第一次

4.001s

第二次

2.522s

第三次

2.583s

CPU参数:Intel(R)Core(TM)i5-5200U CPU @ 2.20GHz

要求1

我觉得在读取文本和将文本各种符号替换成空格上可能花了太多的时间,因为文本很长,逐个遍历并替换会花费太多时间。我觉得优化之后会节约0.5s

for ch in ['"',"'",'!','@','#','$','%','&','(',')',':',";",'|'
           ,'\','/','?','*']:
    text = redirect_word.replace(ch,' ')

要求2

上图中前三个函数为最花费时间的三个函数。

第一个执行二号模块时调用所有的子函数花费了太多时间。

要求3

修改代码如下省去了for的循环

def words_split(str):
    text = str.replace('.', ' ').replace(',', ' '). 
        replace('!', ' ').replace('#', ' '). 
        replace('[', ' ').replace(']', ' ').replace(':', ' '). 
        replace('?', ' ').replace('-', ' ').replace('"',' '). 
        replace('(', ' ').replace(')', ' ').replace('', ' '). 
        replace(';', ' ').replace("'",' ')
    words = text.split()
    return words

要求4

 

原文地址:https://www.cnblogs.com/xvcs/p/9750403.html