• 软件工程作业----第三次


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

    要求1 给出你猜测程序的瓶颈。你认为优化会有最佳效果,或者在上周在此处做过优化 (或考虑到优化,因此更差的代码没有写出) 。

    把获取的字符串进行分割处理,然后进行单词统计,我认为这是个瓶颈。如果优化这部分,会提高执行效率。

     StringTokenizer st = new StringTokenizer(mp.toString(),", ?.!:""''
    ");//分割字符串  
                       
                    while (st.hasMoreTokens()) {  
                        String letter = st.nextToken();  
                        int count;  
                        if (map.get(letter) == null) {  
                            count = 1;//表明了没有进行分割。  
                            } else {  
                                count = map.get(letter).intValue() + 1;  
                            }  
                            map.put(letter,count);  
                        }

    要求2 通过 profile 找出程序的瓶颈。给出程序运行中最花费时间的3个函数(或代码片断)。要求包括截图。

    文本内容太大,war_and_peace.txt,有3.14M大小。读取需要花费时间。通过路径寻找文本文件,也需要时间,这个时间应该是可变的。字符串的拼接,时间应该与内容的大小成正比。

            

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

    之前的路径是放在项目的目录下,现在的路径放在项目所在盘的目录下,String filepath =new File("/").getAbsolutePath()+ filename; 在遍历查找文本文件的过程中,少一层遍历,会减少时间。

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

     git代码

    链接:https://git.coding.net/lick468/wf.git

  • 相关阅读:
    GoogLeNet学习笔记
    ResNet学习笔记
    VGG学习笔记
    AlexNet学习笔记
    目标检测SSD
    YOLO系列(1)—— YOLO v1
    YOLO系列(2)—— YOLO v2
    R-CNN系列(4)—— Faster R-CNN
    如何打开.ipynb文件
    机器学习中的采样
  • 原文地址:https://www.cnblogs.com/lick468/p/7594439.html
Copyright © 2020-2023  润新知