优化C++软件——目录

1. 介绍
   1.1. 优化的代价
2. 选择最优的平台
   2.1. 硬件平台的选择
   2.2. 微处理器的选择
   2.3. 操作系统的选择
   2.4. 程序语言的选择
   2.5. 编译器的选择
   2.6. 函数库的选择
   2.7. 用户接口框架的选择
   2.8. 克服C++语言的缺点

3. 找出最大的时间消耗者
   3.1. 一个时钟周期是多少?
   3.2. 使用性能分析器查找热点
   3.3. 程序安装
   3.4. 自动更新
   3.5. 程序载入
   3.6. 动态链接与位置无关代码
   3.7. 文件访问
   3.8. 系统数据块
   3.9. 其他数据库
   3.10. 图形化
   3.11. 其他系统资源
   3.12. 网络访问
   3.13. 内存访问
   3.14. 上下文切换
   3.15. 依赖链
   3.16. 执行单元吞吐率

4. 性能与可用性
5. 选择最优算法
6. 开发过程

7. 不同C++构造的效率
   7.1. 不同类型变量的储存
   7.2. 整数变量与操作符
   7.3. 浮点变量与操作符
   7.4. 枚举
   7.5. 布尔

   7.6. 指针与引用
   7.7. 函数指针
   7.8. 成员指针
   7.9. 智能指针
   7.10. 数组
   7.11. 类型转换
   7.12. 分支与switch语句
   7.13. 循环
   7.14. 函数

   7.15. 函数参数
   7.16. 函数返回类型
   7.17. 函数尾调用
   7.18. 递归函数
   7.19. 结构体与类
   7.20. 类数据成员(变量实例)
   7.21. 类成员函数(方法)
   7.22. 虚成员函数
   7.23. 运行时类型识别(RTTI)
   7.24. 继承
   7.25. 构造函数与析构函数
   7.26. 联合
   7.27. 位域(bitfield)
   7.28. 重载函数
   7.29. 重载操作符
   7.30. 模板
   7.31. 线程
   7.32. 异常与错误处理
   7.33. 栈回滚的其他情形
   7.34. 预处理器指示
   7.35. 名字空间

8. 编译器里的优化
   8.1. 编译器如何优化

   8.2. 不同编译器的比较
   8.3. 编译器优化的障碍
   8.4. CPU优化的障碍

   8.5. 编译器优化选项
   8.6. 优化指示
   8.7. 检查编译器做什么

9. 优化内存访问
   9.1. 代码与数据缓存
   9.2. 缓存组织
   9.3. 一起使用的函数应该一起保存
   9.4. 一起使用的变量应该一起保存
   9.5. 数据对齐 
   9.6. 动态内存分配
   9.7. 容器类
   9.8. 字符串
   9.9. 顺序访问数据
   9.10. 在大数据结构中的缓存竞争
   9.11. 显式缓存控制
        数据预取
        非缓存内存储存

10. 多线程
   10.1. 并发多线程

11. 乱序执行


   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值