嵌入式应用的性能测试方法、嵌入式终端设备及网络系统技术方案

技术编号:5060105 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了嵌入式应用的性能测试方法、嵌入式终端设备及网络系统。其中,该方法包括:启动应用程序;通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。本发明专利技术实施例可较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。

【技术实现步骤摘要】

本专利技术涉及移动通信领域,尤其涉及嵌入式应用的性能测试方法、嵌入式终端设 备及网络系统。
技术介绍
嵌入式系统是指嵌入到对象体系中的专用计算机应用系统,广泛应用于手机、机 顶盒、GPS等手持或微型设备中,而嵌入式应用是指基于嵌入式操作系统的应用程序。随着 现代嵌入式产品需求的高度发展,嵌入式应用开发愈发普遍。基于成本或功耗等考虑,通常 这类产品的硬件性能不高,对于开发者而言,应用程序的性能优化是必经之路。为了程序的 优化,预先进行应用程序的性能测试和统计成为优化过程的关键一步。传统的嵌入式应用开发时,通常基于模拟器,在PC环境中采用第三方开发工具如 Profile等进行性能优化;但是由于在模拟环境统计的数据往往不能在真机或目标板中却 无法实施,所以其无法反应嵌入式终端的真实测试情况,特别是在统计终端的外设相关操 作的消耗时,如屏幕刷新、文件10、网络IO等,误差相当大。因此,演变为对于嵌入式终端真机进行性能测试,而基于嵌入式终端的真机或目 标板中的性能统计,现在往往采用开始时间和结束时间差,来评价应用程序中关键模块或 函数的消耗。这种方法通常只适用于局部模块或函数的绝对消耗测试,不容易直接找到系 统瓶颈之所在,也不容易反映各模块或函数在整个系统中的消耗分布情况。
技术实现思路
有鉴于此,本专利技术实施例提供嵌入式应用的性能测试方法、嵌入式终端设备及嵌 入式网络系统,可较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布 情况。具体的,本专利技术实施例提供的一种嵌入式应用的性能测试的方法包括启动应用程序;通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结 果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所 述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块 或函数,所述出口标志指示所述应用程序离开所述模块或函数;当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模 块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据包括所述应用程序 运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时 间。相应的,本专利技术实施例提供的一种嵌入式终端设备包括程序启动单元,用于启动应用程序;采样统计单元,用于通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函 数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应 用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;数据传输单元,用于当所述应用程序运行结束,获取采样数据并发送到数据分析 设备,以使所述数据分析设备根据所述采样数据计算出所述各模块或函数在所述应用程序 运行时的整体耗时情况,其中,所述采样数据包括所述应用程序运行时位于所述各模块或 函数的次数、在所述应用程序运行时采样总次数以及采样总时间。相应的,本专利技术实施例提供的另一种嵌入式终端设备包括程序启动单元,用于启动应用程序;采样统计单元,用于通过采样的方式周期性地探测应用程序运行时的模块或函数 属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函 数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应 用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;数据分析单元,用于当所述应用程序运行结束,获取采样数据,并根据所述采样数 据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据 包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次 数以及采样总时间。相应的,本专利技术实施例提供的一种嵌入式网络系统包括前面所述的嵌入式终端设 备,另外,还包括数据分析设备,用于接收所述嵌入式终端设备输出的采样数据,并根据所 述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。本专利技术实施例通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能 较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发 者发现应用程序运行时系统的瓶颈和优化效果的评估。附图说明图1是本专利技术实施例提供的嵌入式应用的性能测试方法一实施例流程示意图;图2是本专利技术实施例提供的嵌入式应用的性能测试方法的另一实施例的流程示 意图;图3是本专利技术实施例提供的从系统设置到对嵌入式应用的性能测试完成的整体 流程示例示意图;图4是本专利技术实施例提供的嵌入式终端设备的第一实施例的结构示意图;图5是本专利技术实施提供的嵌入式终端设备的第二实施例的结构示意图;图6是本专利技术实施例提供的嵌入式网络系统的一实施例的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述。图1是本专利技术实施例提供的嵌入式应用的性能测试方法一实施例流程示意图;如 图1所示,本实施例的方法包括步骤S101,启动应用程序。具体的,所述启动应用程序的步骤可为启动专用于测试 的应用程序用例或脚本。步骤S102,通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并 根据探测结果统计所述应用程序运行时位于各模块或函数的次数。具体实现中,所述通过采样的方式周期性地探测应用程序运行时的模块或函数可 包括通过采用定时器控制采样流程,周期性地探测应用程序运行时的模块或函数属性; 和/或,通过采样线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性。其 中,对于支持多线程或者适合采用多线程的应用程序,可采用采样线程控制采样流程;而对 于不支持多线程或者不适合采用多线程的应用程序,可采用采样定时器来模拟采样线程实 现对采样流程的控制。另外,具体实现中,所述模块或函数属性包括预先为所述模块或函数设定的入口 标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指 示所述应用程序离开所述模块或函数,而所述入口标志和出口标志进一步可为所述入口 标志为通过打桩宏设置的入口桩,所述出口标志为通过打桩宏设置的出口桩;比如,对某一 模块设置的模块进行打桩处理采用的打桩宏为M0DULE_H00K_IN(id) ;M0DULE_H00K_0UT ; 其中,所述id为所述模块的身份标识。而对某一函数设置的函数进行打桩处理的打桩宏可 为FUNCTI0N_H00K_IN(name) ;FUNCTI0N_H00K_0UT,其中,所述 name 为所述函数的函数名。 或者,所述入口标志为所述模块或函数的ID(身份标识),所述出口标志可设置为空。具体 实现中,任何可将模块的入口或出口区分开来,并且对于各模块或函数具有唯一性的标志 均可作为模块或函数的入口标志或出口标志。步骤S103,当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出 所述各模块或函数在所述应用程序运行时的整体耗时情况。其中,所述采样数据包括所述 应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采 样总时间。具体实现中,所述根据所述采样数据计算出所述各模块或函数在所本文档来自技高网...

【技术保护点】
一种嵌入式应用的性能测试方法,其特征在于,包括:启动应用程序;通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄磊
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1