(1) Profiling(剖析):通过监测程序的运行时间和资源使用情况,找出程序中的瓶颈和性能问题。
(2)Trace(跟踪):通过记录程序的执行过程,分析程序的行为和性能问题。
(3)Benchmark(基准测试):通过对程序进行多次运行,比较不同版本或不同实现的性能差异。
(4)Code Review(代码审查):通过对程序代码的审查,找出潜在的性能问题和优化机会。
性能分析工具的使用:
(1)GCC Profiler: GCC 自带的性能分析工具,可以生成程序的性能报告,包括函数调用次数、执行时间等信息。
(2)Valgrind:一个开源的内存调试和性能分析工具,可以检测内存泄漏、越界访问等问题,并生成程序的性能报告。
(3)Gprof: GNU Profiler ,是一个基于函数级别的性能分析工具,可以生成程序的函数调用图和执行时间分布图。
(4)Perf:一个 Linux 系统下的性能分析工具,可以监测程序的 CPU 使用情况、内存使用情况等,并生成程序的性能报告。
(5)Intel VTune: Intel 公司开发的性能分析工具,支持多种平台和编程语言,可以分析程序的 CPU 使用情况、内存使用情况、 I/O 等,并提供详细的性能报告和建议。