zoukankan      html  css  js  c++  java
  • 软件工程第三次作业—作业二

    效能分析:
    作业描述:通过ptime.exe分析软件对war_and_peace.txt在命令行内输入进行运行时间分析,并对相关性能进行分析。 

    截图如下:

    截图所示:

    第一次、第二次、第三次结果基本相同,都在70S之间。

    瓶颈预测:

    分析原因:

       效能分析结果基本处于失败状态,解决办法暂时没有找到,我觉得应该是我的暴力程序的原因,在结构体里面定义了静态数组,并且最多放40000,导致程序运行大文本文件时候的运行时间已经很长很长。

    接下来,我在Visual Studio 2012中,使用性能探查器进行了一次性能上的测试:

     

    排序函数中我在此使用的是冒泡排序,预测如果使用快速排序,程序的速度应该可以大大提升。

    排序sort()部分代码:

     void sort()
    {    
          int i,j;    
          struct word a;  
          for(i=0;i<sum;i++)  
        {   
            for(j=i+1;j<sum;j++)      
              if(A[i].num<A[j].num)    
             {     
                 a=A[j];          
                 A[j]=A[i];
                 A[i]=a; 
               }
          }
    }

    总结:

    1)程序中首先静态数组设置导致在阅读大文本文件时候比较慢,当时也有设置大堆栈,并查阅相关资料,但是最终没有解决这个问题。对于使用动态数组和链表形式进行存储也有想过,具体代码实现还是有一定问题,主要C程序使用并不熟练,可能想的并不一定能跟上实际做出来的。

    2)排序函数使用冒泡排序,相对时间空间复杂度都不及快速排序的迅速。

    3)基于我对C程序设计的基础,我暂时只能做到现在这一步。

  • 相关阅读:
    postgresql删除活动链接的数据库
    第四篇 函数
    Jmeter响应中文乱码解决办法
    第三篇 条件控制和循环
    第二篇 Python运算符
    npm更换为镜像
    第一篇 Python的数据类型
    newman的常用命令使用总结
    windows下安装newman
    同态包络提取
  • 原文地址:https://www.cnblogs.com/chjy/p/7598265.html
Copyright © 2011-2022 走看看