首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

利用RealView Profiler工具进行软件代码优化

利用RealView Profiler工具进行软件代码优化

简介

        电子产品市场的竞争呈日益加剧之势,这就意味着,加快产品投放市场的步伐、提升系统的复杂性已经成为制胜的关键因素。
        在加快产品面市的同时更为迅速地增加产品功能、提高产品质量正是众多公司目前面临的挑战。因此,能够精准探识系统性能的工具就成了必不可少的要素。
        要实现这些目标,其中重要的一环就是软件优化。即使将软件性能优化小小的5%,也可由此获得足够的系统带宽,用以增加新的功能,从而增强产品的市场竞争力。软件优化应从获益最大之处开始,这是人所共知之事;然而,为了确定起点,开发者需要有关其代码性能的详细反馈信息。
       确定提升性能的切入点
        那么,如何确定代码瓶颈呢?通常情况下,只有等到项目功能齐备并整合完毕后,工程部门才能在开发周期中安排出性能调试时间。同时,由于时间往往非常紧迫,要发现性能未达到要求绝非易事。
       如果能令工程师更为方便地考察代码或R O M占用量与性能之间的权衡,就能确保其做出正确的权衡,这对解决问题大有裨益。
        基于反映终端用户如何运行应用程序的使用场景,A R M推出的R e a l V i e w Profiler能够将系统行为中存在的瓶颈以图形方式突显出来。
       不仅如此,Profiler还能准确显现这些瓶颈与源代码之间的联系,由此可以对编译优化或源代码做出适当更改。有关应用程序性能的信息中包含各个函数所耗时间(包括有关函数间关系的统计数据)以及内存存取次数、延迟次数和代码覆盖等。
      优化方法
       RealView系列工具提供了两种主要的应用程序优化方法。最快的方法就是通过编译器指令进行优化。
       比如,在最基础的层次,可通过一个特定目标实现整个应用程序的优化。若要提升程序性能而无需顾及程序大小,开发者可选用编译器设置中的“-O t i m e”选项。不过,如果开发者希望进一步细调编译器优化选项,也可通过多种方式对特定函数进行优化。
       第二种方式是通过调试或重写软件进行优化。尽管这种方法的应用范围是编译器所不能企及的,但是却更为耗时,因此必须了解将其用在何处才最有利。
      确定是需要重写整个函数还是仅需调整几行代码时,有关每行代码所耗时间的信息可能十分有用。软件开发者可通过RealView Profiler中的调用链视图,发现执行耗时最长的子函数及父函数,从而提高优化效率。
        在代码视图中逐行分析代码性能就会发现不必更改整个函数、仅需更改几行代码之处。
        比如,如果某个函数所耗时间的大部分实际上是用在某个循环所上,软件开发者就可集中分析该循环,忽略该函数的其他部分,从而大量节省时间。
        点击此处查看全文

本文来源:《IQ》杂志    作者:
返回列表