[翻译]【目录】编写高性能 .NET 代码

本篇是 Writing High-Performance .NET Code 的目录索引,翻译内容不定时更新,目录也会同步修改。

  1. 性能测量及工具
  2. 垃圾回收
  3. JIT编译
    • JIT编译的好处
    • JIT编译的花费
    • JIT编译的优化
    • 减少JIT和启动的时间
    • 分析并优化JIT过程
    • 什么时候使用NGEN
    • 优化NGEN映像文件
    • 新特性:本地化代码生成
    • 什么时候不能编译JIT
    • 测量
      • 性能计数器
      • ETW事件
      • Subtopic
  4. 异步编程
    • 使用Tasks
    • Parallel Loops
    • 避免阻塞
    • Async and Await
    • 关于一个程序结构的说明
    • 正确使用计时器
    • 确保配置了正确的线程池大小
    • 不要终止线程
    • 不要修改线程优先级
    • 测量
  5. 通用编码与类设计
    • 类VS结构体
    • 覆盖结构体的Equals和GetHashCode方法
    • 虚函数和终结类
    • 接口调度
    • 避免装箱
    • for vs. foreach
    • 类型转换
    • P/Invoke
    • 委托
    • 异常
    • 动态对象
    • 代码生成
    • 预处理
    • 测量
  6. 使用.NET框架
    • 了解所有你所调用的API
    • 一些API的思考
    • 集合
    • 字符串
    • 避免API在正常情况下抛出异常
    • 避免API在大对象堆里分配
    • 使用延迟初始化
    • 令人惊讶的Enum消耗
    • 追踪时间
    • 正则表达式
    • LINQ
    • 读取文件
    • 优化HTTP设置于网络通讯
    • 反射
    • 测量
  7. 性能计数器
    • 性能计数器的消耗
    • 创建一个自定义性能计数器
  8. ETW 事件
    • 定义一个事件
    • 自定义事件在PerfView里的开销
    • 创建一个自定义ETW事件监听器
    • 获得事件源的详细信息
    • 自定义PerfView分析扩展
  9. Windows Phone
    • 工具
    • 垃圾回收与内存
    • JIT
    • 异步编程与内存模型
    • 其它的思考
  10. 代码安全
    • 了解底层操作系统,api和硬件
    • 在某些区域里限制你的api访问
    • 集中和抽象性能敏感和困难的代码
    • 隔离非托管或不安全代码
    • 保持代码的清晰,知道有证明说有性能问题
  11. 构建一个具备性能意识的团队
    • 了解性能相关的领域
    • 有效测试
    • 性能基础设施和自动化
    • 只相信数字
    • 有效的代码回顾
    • 教育
posted on 2017-03-10 16:28  yahle  阅读(2368)  评论(3编辑  收藏  举报