性能调优是通过定位软件性能瓶颈,在保证功能正常的前提下,使用相应的技术来优化软件性能,从而提高软件的性能。
本文主要探讨Visual Studio提供的Diagnostic Tools及Performance Profiler工具。
注1:限于笔者研究水平,难免有表述不当,欢迎批评指正。
注2:博文会不定期更新,敬请关注。
零、概述
性能调优通常按照以下步骤进行:
- 确定性能基线
性能基线实际上是基准测试数据,用于作为对照数据,来指导后续的性能分析及其优化工作。
- 定位性能瓶颈
一般可以通过Profiling工具或者打桩测试来定位性能瓶颈,最好能够在性能优化前对理论的性能优化效果有所预估。
- 优化性能
在明确性能瓶颈之后,便需要从算法逻辑、CPU使用率、访存等方面对性能瓶颈点进行优化,以期改进软件性能。
在Linux系统下,可以通过perf工具生成火焰图(Flame Graph)来定位热点函数;在Windows下,Microsoft提供了PerfView、Xperf等工具包用于性能分析,而且Visual Studio 内置了Diagnostic Tools与Performance Profiler用于方便在Visual Studio内进行性能分析。
一、Visual Studio Diagnostic Tools
二、Visual Studio Performance Profiler
网络资料
Linux kernel profiling with perf
Measure app performance in Visual Studio
Xpef