性能分析
维基百科,自由的百科全书
| 当前條目或章節需要更新。 |
在软件工程中,性能分析(performance analysis也称为profiling),是以收集程序运行时信息为手段研究程序行为的分析方法。 这种方法与静态代码分析相对。性能分析的目的在于决定程序的哪个部分应该被优化,从而提高程序的速度或者内存使用效率。
目录 |
使用性能分析工具 [编辑]
性能分析工具(Profiler)是一个软件工具用于测量程序的执行,特别是函数调用频率和所耗费时间。输出以事件的记录流(踪迹trace,或者事件的数据汇总(轮廓profile)。性能分析工具使用很广泛的技术手段收集数据,包括硬件中断,代码指令,操作系统(钩子),CPU内置的性能计数寄存器等等。性能分析工具的使用称为性能工程学过程。
性能测量数据量与代码大小成线性关系,这是由于数据汇总(profile)的操作通常与产生事件的源代码位置相关。与之对比,事件的踪迹(trace)则与运行时长成线性关系,常使之不符合实际应用。对于顺序执行的程序,通常轮廓就足够了。但并行执行的程序的性能问题(等待消息或者同步问题)常常依赖于事件的关系,因此需要全部的踪迹才能找到问题。
历史 [编辑]
以输出方式分类 [编辑]
数据收集方法 [编辑]
简单的手工分析技术 [编辑]
性能分析工具 [编辑]
外部連結 [编辑]
- 演示 "Using VSTS Performance Tools to Speed Up Your App" by Ian Huff, a developer at Microsoft who is demonstrating the profiler in Visual Studio Team System 2005
- 文章 "Need for speed -- Eliminating performance bottlenecks" on doing execution time analysis of Java applications using IBM Rational Application Developer.
- CPU & GPU Optimization Site (for video games)
- 体验报告 "Execution time optimisation of an Avionics system" shows how just 1.2% of the code in an Avionics system was responsible for about 30% of the worst-case execution time.