【读书笔记】代码大全25章:代码调优

  • 代码调优就是性能优化
  • 什么是性能
    • 性能和代码速度没有必然的联系,操作的便捷性也是性能的一种。
    • 哪些地方可以优化
      • 软件需求
      • 软件设计
      • 类和方法的设计
      • 操作系统交互
      • 编译
      • 硬件
  • 代码调优介绍
    • 性能优化最神奇的地方在于改变少量代码可以让性能大幅提升
    • 八二原则:80%的运行时间集中在20%的代码上
    • 误区
      • 减少代码数量就能提高性能,减少程序大小(错误)
      • 某个操作一定比另一个操作快或慢(错误,和开发环境、运行环境都有关)
      • 编码开始的时候就开始优化(错误)
      • 程序的性能和正确性一样重要(错误)
    • 什么时候要优化性能
      • 程序做完之后
      • 根据性能分析(profiling)的结果进行优化
  • 影响性能的因素
    • 性能差的起因
      • IO操作
      • 内存分页
      • 系统调用
        • 优化方式
          • 自己写服务
          • 避免系统调用
          • 联系系统开发商
      • 解释执行的语言(PHP、PYTHON)
      • 错误
    • 常用操作的相对效率
      • 函数调用、赋值、整数运算、浮点运算的开销都差不多
      • 三角函数的开销大约是整数运算的50倍
    • 性能测量
      • 一般人无法通过经验判断某段代码需要如何优化
      • 测量需要很准确
  • 迭代
    • 性能优化是一个迭代的过程
    • 如果每次优化都能提升10%,那么10次优化之后性能可以提升34%
  • 代码调优步骤
    • 编写设计良好的、易于理解的代码
    • 如果性能很差
      • 保存当前的程序版本
      • 做一次性能分析,找出性能瓶颈
      • 判断性能差的原因,比如设计缺陷,数据结构算法不对
      • 优化瓶颈的性能
      • 一次只优化一个方面,优化后最好做一次性能分析
      • 如果优化并没有多少改进,那么还原到最初的版本,再从第一步开始
    • 重复步骤二
  • 推荐读物
    • 《The Art of Computer Programming》TAOCP
    • 《Algorithms in Java》
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值