• 集训培训日记——第二天


    昨天不知道怎么了,太累了,所以没有将自己的笔记整理,早早的躺在床上,就睡觉了。第三天老师给我们讲什么敏捷开发的理论知识,甚是无聊,于是决定开小差,整理一下自己昨天的笔记,估计今天上午是不会有任何新的有价值的笔记了。
     
    1.性能优化的策略:
         获得基线版本性能数据(这里的基线版本就是当前版本的效率,我们优化代码的性能,不能低于当前这个基线版本的值,否则就不是优化了)
         分析影响性能的关键点(也就是重点的代码优化)
         优化关键部分的性能(优化重点部分的代码,需要测试优化的性能)
         测试验证
         然后继续获得新的数据进行分析,再进一步分析优化(迭代整个过程,不断的优化)
     
    2.性能优化的原则
         2.1首先需要保证软件系统的正确性、可维护性、可靠性以及可测性。不能盲目的追求效率,忽略之前的重要特性。
         y = x * 5;
         修改为 y = x<<2 + x;  可维护性、可阅读性太差了,最好是增加注释
     
         2.2不是所有的代码都需要优化,根据二八原则,20%的程序运行80%的时间。找出程序的重点部分进行优化。可以从流程级优化(从最耗时的部分进行优化);代码级别优化:优化频繁执行的函数
     
         2.3代码减少不必要的操作,对于必须的操作采用尽可能高效的方法。比如小功能的函数,修改成为内联函数。比如以空间换时间将计算好的数据放在内存中保存,后续如果需要就直接的获取即可。
     
    3.方法
         减少不必要的操作
         循环体内的操作尽量最小化;避免重复的运算;使用模板赋值;避免不必要的内存拷贝;使用指针传递函数入口的函数;
         
         高效实现
         把最可能的判断放在前面;在需要的时候才申请于释放资源;改进遍历查表;文件操作使用缓冲;字节对齐;多重for循环将较小的循环放在外面。
         typedef std::map<int,int> InnerMap;
         typedef std::map<int,InnerMap> OuterMap;
         OuterMap instance;
         for(;;){
              for(;;){
                   instance[i][j];
              }
         }
         for (;;){
         InnerMap & ref = instance[i];
         for(;;){
              ref[j];
         }
         }
    这两个的效率相差很大。

    使用提供模板赋值
    pstCB = malloc(sizeof(CB));
    pstCB->A = 0;
    pstCB->B = 1;

    修改为:模板赋值
    g_CB.A = 0;
    g_CB.B = 1;
    pstCB = malloc (sizeof(CB));
    *pstCB = g_CB;
     
    4.高质量的代码(代码的可维护性)
     
         高质量的代码,编写简洁、可维护性、可靠、可测试、高效和可移植的代码。
     
    重复代码,大函数,过多的函数参数,数据泥团,长SWitch,过度耦合,复杂的表达式,过多的函数调用
     
    推荐书籍:CleanCode,重构——改善既有代码的设计,设计模式 Design Pattern,程序员修炼之道,敏捷软件开发:原则、模式与实践。
     
     以上就是我笔记的整理了,感觉昨天上午就是在做题,没有什么新的东西,对于我价值真实不大,但是那些东西对于小朋友面试笔试还是很有帮助的,有需要的可以找我要啊(不能公开,因为据说是公司机密)。下午的话甚至包括今天感觉就是在上软件工程理论课程,是在是听不下去了,于是开始看动漫,虽然还是不理解。
     
     
    追梦的飞飞
    2014.03.20  广州
  • 相关阅读:
    第三周学习进度条
    绘制echarts折线图
    第二周学习进度条
    返回一个整数数组中最大子数组的和
    软件工程第二周开课博客
    第一周学习进度条
    学习进度
    学习进度
    学习进度
    HDU 4906 (dp胡乱搞)
  • 原文地址:https://www.cnblogs.com/hbhzsysutengfei/p/3613089.html
Copyright © 2020-2023  润新知