3.31应用的性能优化.pptxVIP

  • 2
  • 0
  • 约 51页
  • 2017-09-06 发布于重庆
  • 举报
应用的性能优化Android系统的优化运行速度优化代码尺寸优化低功耗优化性能优化的原则?等价原则。经过优化后不应改变程序运行结果。?有效原则。使优化后产生的目标代码运行时间较短。?合算原则。有时候优化过程会在某些角度增加性能,而在另外一些角度会降低性能,此时是否进行优化应该考虑总体上增加的性能是否可以超过牺牲的性能。性能优化的原理减少指令或执行次数选用速度更快的指令提高并行度对高速缓存、寄存器的有效使用性能优化的实现途径由编译器自动完成优化工具辅助的优化使用高性能库人工优化 源代码(即高级语言)级 汇编语句级 编译指令Intel VTune1.显示程序的运行时间及统计显示出最耗时的代码行显示图形化程序的调用图显示程序的汇编代码显示其他处理器事件并行度分析命令行示例热点收集与分析 # amplxe-cl -collect hotspots -- /home/peter/jdk1.6.0_21/bin/java gsexample2a datafile.txt内存分析# amplxe-cl -collect nehalem_memory-access -- /home/peter/jdk1.6.0_21/bin/java gsexample2a datafile.txtVTune的功能调优系统调优 锁和等待分析(LocksAndWaitsAnalysis)测出过长网络套 接字对象的等待时间,过慢磁盘写I/O 可能引起线程阻塞,通过重新的系统配置加以改进。又如,内存存取分析测出缓存的未命中率过高(资源配置过低)而通过系统升级的方法改进。算法调优1任务在各线程的分配不均衡;2线程的阻塞(WaitTime)是由于共享资源或“锁”被其他线程占用。找出阻塞的原因,把热点区域尽可能缩小,减少数据的依赖关系,使用较“轻量”的锁。基于处理器微架构的调优VTune? Performance Analyzer不仅可以检测程序所耗用的时间,而且可以检测程序执行中处理器的内部事件(Performance Monitor Unit : PMU)发生次数(及样本),称之为Event based sampling (EBS)不是每一次事件发生都是需要记录的,?当事件达到一定的累积,去获得一个样本.?SAV就是一个事件的设定值.如,CPU得主频是2G?Hz,?每秒得到1000个样本,SAV=2,000,000,000/1000?=?2,000,000有关直接性能数据的计数器:1) CPU_CLK_UNHALTED.THREAD - 表示非停机状态花费的机器周期2) INST_RETIRED.ANY - 表示指令的有效执行的计数CPI = CPU_CLK_UNHALTED.CORE / INST_RETIRE.ANY, 表示一段代码(函数,模块)平均每条指令花费的机器周期.CPI大的函数,通常称之为热点函数。CPI的值,理论上可以达到0.25。 在测试过程中我们可以监控进程,线程,模块以及函数。以下是性能数据监控举例(amplxe-cl输出):1.记录每次程序的Elapsed Time2.程序的并行度1.5, 不达标3.CPI1.8, 不达标4.Execution Stall 20% (什么模块?)5.L2 或 LLC Miss 20%6.Branch Misprediction Percentage 50%?7.Front-end Stall (UOPS_ISSUED.CORE_STALL_CYCLES – RESOURCE_STALLS.ANY) 凡此种种,不一而足。用户可以选择自己Events (或Event Ratios), 及Threshold 作为质量监控的目标。数据产生的报告可以是Summary,模块的,函数的。CPU_CLK_UNHATLED.THREAD = Real_Work + Resource_Stalls + Rat_Stalls + Seg_Rename_Stalls – UopsReal_Work 一般指的是你需要相应的指令序列来实现你的算法。考量你的指令是否最精减。Rat_Stalls 指的是Register Allocation Stall, 此时没有寄存器可用,需等待。Seg_Rename_Stalls 指的是段寄存器的重名不可用,需等待。Uops – 包含micro-ops retired, macro-ops retired. 当然是多多益善。使用UOPS_RETIRED 可以知道微操作和宏指令的熔合数。建议多用简单指令,少用复杂指令。Resource_Stalls 包含:RESOURCE_STALLS.LOAD – 由于Load Buffer 不可用以致延时RESOURCE_STALLS.

文档评论(0)

1亿VIP精品文档

相关文档