zoukankan      html  css  js  c++  java
  • 软件工程第三次作业-2效能分析

    老师的作业需要对功能4-1进行效能分析,我最终没有做出来功能4-1,所以也就无法对要求的部分进行分析。但是分数只是学习的一部分,就算没有分数或者倒扣分数,也不影响学习这部分知识的重要性,所以我决定用功能2进行分析。

    要求0:

    我没有读入战争与和平,而是读入了test.txt 内容为 “my English is very very very poor.”

    平均值为(0.887+0.895+0.882)/3=0.888s

    要求1:

    我猜测是对词频进行排序这里可能耗费时间比较多。

                //根据单词出现次数进行排序
                for (n = 0; n < i - 1; n++)
                {
                    k = n;
                    //    for (j = 0; j < i; j++)
                    for (j = n + 1; j < i; j++)
                        if (W[j].num > W[k].num)
                        {
                            k = j;
                            temp = W[k].num;
                            W[k].num = W[n].num;
                            W[n].num = temp;
                            strcpy_s(b, 15, W[k].a);
                            strcpy_s(W[k].a, 15, W[n].a);
                            strcpy_s(W[n].a, 15, b);
                        }
                }
    View Code

    这里是冒泡排序,可能剪枝没有做好吧,又频繁调用了函数strcpy_s(),我猜测会出现问题。

    要求2:

    我开始了性能分析的过程,首先点击分析按钮

    进入界面,勾选性能向导

    结果出现了这个

    点进我单个工作最多的函数main()也就是主函数

    看到了我占比最多的三条语句

    要求3:

    这不是我想要的瓶颈...我还是对排序进行了剪枝优化

    要求4:

    再次分析我的程序是这样的

    之后的ptime

    平均值为(0.873+0.880+0.882)/3=0.878s

    并没有优化多少。

  • 相关阅读:
    sqlserver添加表、字段注释
    SQL语句增加字段、修改字段、修改类型、修改默认值
    端口概念
    删除数据库数据
    转移数据库表数据
    优化网站
    提高SQL查询效率
    相关方法扩展
    SQL空和NULL的区别
    C#分布式缓存Couchbase使用
  • 原文地址:https://www.cnblogs.com/immixiaomi/p/7598613.html
Copyright © 2011-2022 走看看