CN102043707B - 嵌入式应用的性能测试方法、嵌入式终端设备及网络系统 - Google Patents
嵌入式应用的性能测试方法、嵌入式终端设备及网络系统 Download PDFInfo
- Publication number
- CN102043707B CN102043707B CN200910110538.7A CN200910110538A CN102043707B CN 102043707 B CN102043707 B CN 102043707B CN 200910110538 A CN200910110538 A CN 200910110538A CN 102043707 B CN102043707 B CN 102043707B
- Authority
- CN
- China
- Prior art keywords
- application program
- module
- function
- run
- sampling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了嵌入式应用的性能测试方法、嵌入式终端设备及网络系统。其中,该方法包括:启动应用程序;通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。本发明实施例可较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。
Description
技术领域
本发明涉及移动通信领域,尤其涉及嵌入式应用的性能测试方法、嵌入式终端设备及网络系统。
背景技术
嵌入式系统是指嵌入到对象体系中的专用计算机应用系统,广泛应用于手机、机顶盒、GPS等手持或微型设备中,而嵌入式应用是指基于嵌入式操作系统的应用程序。随着现代嵌入式产品需求的高度发展,嵌入式应用开发愈发普遍。基于成本或功耗等考虑,通常这类产品的硬件性能不高,对于开发者而言,应用程序的性能优化是必经之路。为了程序的优化,预先进行应用程序的性能测试和统计成为优化过程的关键一步。
传统的嵌入式应用开发时,通常基于模拟器,在PC环境中采用第三方开发工具如Profile等进行性能优化;但是由于在模拟环境统计的数据往往不能在真机或目标板中却无法实施,所以其无法反应嵌入式终端的真实测试情况,特别是在统计终端的外设相关操作的消耗时,如屏幕刷新、文件IO、网络IO等,误差相当大。
因此,演变为对于嵌入式终端真机进行性能测试,而基于嵌入式终端的真机或目标板中的性能统计,现在往往采用开始时间和结束时间差,来评价应用程序中关键模块或函数的消耗。这种方法通常只适用于局部模块或函数的绝对消耗测试,不容易直接找到系统瓶颈之所在,也不容易反映各模块或函数在整个系统中的消耗分布情况。
发明内容
有鉴于此,本发明实施例提供嵌入式应用的性能测试方法、嵌入式终端设备及嵌入式网络系统,可较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。
具体的,本发明实施例提供的一种嵌入式应用的性能测试的方法包括:
启动应用程序;
通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;
当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间。
相应的,本发明实施例提供的一种嵌入式终端设备包括:
程序启动单元,用于启动应用程序;
采样统计单元,用于通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;
数据传输单元,用于当所述应用程序运行结束,获取采样数据并发送到数据分析设备,以使所述数据分析设备根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间。
相应的,本发明实施例提供的另一种嵌入式终端设备包括:
程序启动单元,用于启动应用程序;
采样统计单元,用于通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;
数据分析单元,用于当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间。
相应的,本发明实施例提供的一种嵌入式网络系统包括前面所述的嵌入式终端设备,另外,还包括数据分析设备,用于接收所述嵌入式终端设备输出的采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
本发明实施例通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发者发现应用程序运行时系统的瓶颈和优化效果的评估。
附图说明
图1是本发明实施例提供的嵌入式应用的性能测试方法一实施例流程示意图;
图2是本发明实施例提供的嵌入式应用的性能测试方法的另一实施例的流程示意图;
图3是本发明实施例提供的从系统设置到对嵌入式应用的性能测试完成的整体流程示例示意图;
图4是本发明实施例提供的嵌入式终端设备的第一实施例的结构示意图;
图5是本发明实施提供的嵌入式终端设备的第二实施例的结构示意图;
图6是本发明实施例提供的嵌入式网络系统的一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1是本发明实施例提供的嵌入式应用的性能测试方法一实施例流程示意图;如图1所示,本实施例的方法包括:
步骤S101,启动应用程序。具体的,所述启动应用程序的步骤可为启动专用于测试的应用程序用例或脚本。
步骤S102,通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数。
具体实现中,所述通过采样的方式周期性地探测应用程序运行时的模块或函数可包括:通过采用定时器控制采样流程,周期性地探测应用程序运行时的模块或函数属性;和/或,通过采样线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性。其中,对于支持多线程或者适合采用多线程的应用程序,可采用采样线程控制采样流程;而对于不支持多线程或者不适合采用多线程的应用程序,可采用采样定时器来模拟采样线程实现对采样流程的控制。
另外,具体实现中,所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数,而所述入口标志和出口标志进一步可为:所述入口标志为通过打桩宏设置的入口桩,所述出口标志为通过打桩宏设置的出口桩;比如,对某一模块设置的模块进行打桩处理采用的打桩宏为:MODULE_HOOK_IN(id);MODULE_HOOK_OUT;其中,所述id为所述模块的身份标识。而对某一函数设置的函数进行打桩处理的打桩宏可为:FUNCTION_HOOK_IN(name);FUNCTION_HOOK_OUT,其中,所述name为所述函数的函数名。或者,所述入口标志为所述模块或函数的ID(身份标识),所述出口标志可设置为空。具体实现中,任何可将模块的入口或出口区分开来,并且对于各模块或函数具有唯一性的标志均可作为模块或函数的入口标志或出口标志。
步骤S103,当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。其中,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间。具体实现中,所述根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况包括:根据模块或函数在所述应用程序运行时的整体耗时等于应用程序运行时位于所述各模块或函数的次数与在所述应用程序运行时采样总次数的比值再乘以采样总时间的原则计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。另外,具体实现中,本发明实施例提供的嵌入式性能测试方法可由独立的嵌入式终端设备完成,也可由嵌入式终端设备及数据分析设备组成的系统完成,当由嵌入式终端设备及数据分析设备组成的系统完成时,其中步骤S101、S102由所述嵌入式终端设备完成,而所述步骤S103的流程划分为:当所述应用程序运行结束,所述嵌入式终端设备获取采样数据,并将所述采样数据发送给数据分析设备,由所述数据分析设备根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。其中,所述嵌入式终端设备包括手机、机顶盒、GPS等手持或微型设备,所述数据分析设备可为装载有分析工具的PC机或者其他可视化服务器设备。
本实施例提供的嵌入式应用的性能测试方法,通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发者发现应用程序运行时系统的瓶颈和优化效果的评估。
图2是本发明实施例提供的嵌入式应用的性能测试方法的另一实施例的流程示意图;本实施例以嵌入式终端设备及数据分析设备组成的系统完成嵌入式应用的性能测试方法为例进行说明。如图2所示,本实施例的方法包括:
步骤S201,设定对应用程序进行性能测试时所针对的模式,所述模式包括基于模块模式、基于函数模式以及基于模块和函数的混合模式。
步骤S202,为应用程序中的模块或函数设定入口标志及出口标志作为所述模块或函数的属性。同样的,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;而所述入口标志和出口标志进一步可为:所述入口标志为通过打桩宏设置的入口桩,所述出口标志为通过打桩宏设置的出口桩;比如,对某一模块设置的模块进行打桩处理采用的打桩宏为:MODULE_HOOK_IN(id);MODULE_HOOK_OUT;其中,所述id为所述模块的身份标识。而对某一函数设置的函数进行打桩处理的打桩宏可为:FUNCTION_HOOK_IN(name);FUNCTION_HOOK_OUT,其中,所述name为所述函数的函数名。或者,所述入口标志为所述模块或函数的ID(身份标识),所述出口标志可设置为空。具体实现中,任何可将模块的入口或出口区分开来,并且对于各模块或函数具有唯一性的标志均可作为模块或函数的入口标志或出口标志。具体实现中,可对应用程序中的所有模块或函数均进行设置入口标志及出口标志,也可仅对起重要作用的函数或模块设置入口标志及出口标志,或者当模块或函数有关联的子模块或子函数时,可仅对其母模块或母函数设置入口标志及出口标志,而其子模块或函数不进行处理,以使对子模块或子函数耗时计算入其母模块或母函数。
步骤S203,设置采样定时器或/和采样线程,并将启动采样定时器及采样线程的优先级设置为高于应用程序运行的优先级。
步骤S204,启动应用程序;同样的,具体实现中,具体的,所述启动应用程序的步骤可为启动专用于测试的应用程序用例或脚本。
步骤S205,通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数。具体实现中,所述通过采样的方式周期性地探测应用程序运行时的模块或函数可包括:通过采用定时器控制采样流程,周期性地探测应用程序运行时的模块或函数属性;和/或,通过采样线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性。其中,对于支持多线程或者适合采用多线程的应用程序,可采用采样线程控制采样流程;而对于不支持多线程或者不适合采用多线程的应用程序,可采用采样定时器来模拟采样线程实现对采样流程的控制。
步骤S206,当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
本实施例提供的嵌入式应用的性能测试方法,通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发者发现应用程序运行时系统的瓶颈和优化效果的评估。
为进一步描述清楚本发明实施例的嵌入式应用的性能测试方法,下面结合图3所示的本发明从系统设置到对嵌入式应用的性能测试完整的完整流程示例示意图进行介绍。如图3所示,该流程包括:
步骤S301,确定需分析的应用程序对象;
步骤S302,设定对所述应用程序进行性能测试时所针对的模式,所述模式包括基于模块模式、基于函数模式以及基于模块和函数的混合模式。
步骤S303,根据所述设定的工作模式,在关键模块或关键函数出入口使用宏方式,添加打桩处理。当然为了加大统计的准确性,尽可能覆盖应用程序内所有模块或函数。
步骤S304,设置采样线程,其优先级不低于应用程序,从而保证采样的实时性。
步骤S305,启动应用程序,运行专用于性能测试的测试用例或脚本。
步骤S306,启动采样线程,周期性的探测所述应用程序运行时的桩的状态,并根据探测结果统计某段时间内,系统运行状态恰好位于某个函数或模块内的次数。
步骤S307,测试完成,退出应用程序。
步骤S308,结束运行采样线程,输出采样数据。
步骤S309,将采样数据传输到PC端的数据分析工具,由所述数据分析工具根据公式:函数或模块的耗时=(采样命中次数/采样总次数)*采样总时间换算出函数或模块在整体的时间消耗分布。其中,所述采样命中次数为前述统计的系统运行状态恰好位于某个函数或模块内的次数。
步骤S310,输出直观的性能消耗分布图。
相应的,本发明实施例提供可用于实施上述各方法实施例的设备及系统,下面分别对本发明实施例提供的嵌入式终端设备及嵌入式网络系统进行描述。
图4是本发明实施例提供的嵌入式终端设备的第一实施例的结构示意图,本实施例的终端设备可用于实现前述图1所示实施例的方法,具体的本实施例的嵌入式终端设备包括程序启动单元44、采样统计单元45、以及数据分析单元46,其中:
所述程序启动单元44,用于启动应用程序。具体的,所述启动应用程序的步骤可为启动专用于测试的应用程序用例或脚本。
所述采样统计单元45,用于通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数。进一步仍参考图4所述采样统计单元45包括采样单元450和统计单元451,其中:
所述采样单元450,用于通过采样定时器或采用线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性;
所述统计单元451,用于根据所述采样单元的探测结果统计所述应用程序运行时位于各模块或函数的次数。
具体实现中,所述采样单元450可通过采用定时器和/或采样线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性。其中,对于支持多线程或者适合采用多线程的应用程序,可采用采样线程控制采样流程;而对于不支持多线程或者不适合采用多线程的应用程序,可采用采样定时器来模拟采样线程实现对采样流程的控制。另外,具体实现中,所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数,而所述入口标志和出口标志进一步可为:所述入口标志为通过打桩宏设置的入口桩,所述出口标志为通过打桩宏设置的出口桩;比如,对某一模块设置的模块进行打桩处理采用的打桩宏为:MODULE_HOOK_IN(id);MODULE_HOOK_OUT;其中,所述id为所述模块的身份标识。而对某一函数设置的函数进行打桩处理的打桩宏可为:FUNCTION_HOOK_IN(name);FUNCTION_HOOK_OUT,其中,所述name为所述函数的函数名。或者,所述入口标志为所述模块或函数的ID(身份标识),所述出口标志可设置为空。具体实现中,任何可将模块的入口或出口区分开来,并且对于各模块或函数具有唯一性的标志均可作为模块或函数的入口标志或出口标志。
所述数据分析单元46,用于当所述应用程序运行结束,获取采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,其中,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间。
本实施例提供的嵌入式终端设备通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发者发现应用程序运行时系统的瓶颈和优化效果的评估。
图5是本发明实施提供的嵌入式终端设备的第二实施例的结构示意图,本实施例的终端设备同样可用于实现前述图2所示实施例所述的方法,参见图5及图4可知,本实施例的嵌入式终端设备与图4所示的实施例的终端设备的区别在于,本实施例相比图4所示实施例新增采样设置单元42及属性设置单元41及模式设置单元40,下面仅就本实施例新增各模块进行介绍,其他模块的功能与图4所示实施例相同,在此不赘述。其中:
所述模式设置单元40,与所述程序启动单元44相连,用于设定对应用程序进行性能测试时所针对的模式,所述模式包括基于模块模式、基于函数模式以及基于模块和函数的混合模式。
所述属性设置单元41,与所述程序启动单元44相连,用于为应用程序中的模块或函数设定入口标志及出口标志作为所述模块或函数的属性。
所述采样设置单元42,与所述采样统计单元45相连,用于设置采样定时器或/和采样线程,并将启动采样定时器及采样线程的优先级设置为高于应用程序运行的优先级。
本实施例提供的嵌入式终端设备通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发者发现应用程序运行时系统的瓶颈和优化效果的评估。
具体实现中,嵌入式终端设备的其他实施例除包括前述的各种模块外,还可以包括用于确定需分析的应用程序对象的确定单元,以及用于显示性能消耗分布图的显示单元等。
前述的嵌入式终端设备可独立实现嵌入式应用的性能测试方法,下面介绍可完成嵌入式应用的性能测试方法的网络系统。
图6是本发明实施例提供的嵌入式网络系统的一实施例的结构示意图,如
图6所示,本实施例的嵌入式网络系统包括嵌入式终端设备62及数据分析设备63,其中:
所述嵌入式终端设备62包括程序启动单元621、采样统计单元622以及数据传输单元623,其中所述程序启动单元621分别与采样统计单元622与程序启动单元44及采样统计单元45相同,因此在此不对程序启动单元621及采样统计单元622进行叙述,在此仅叙述所述数据传输单元623,具体的,所述数据传输单元623用于当所述应用程序运行结束,获取采样数据并发送到数据分析设备。
所述数据分析设备63,用于接收所述嵌入式终端设备62输出的采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
具体实现中,本实施例的数据分析设备63对采样数据的处理方式可与数据分析单元46对采样数据的处理方式相同,在此不赘述。
相应的,除本实施例之外,嵌入式网络系统中的嵌入式终端设备62还可包括采样设置单元、属性设置单元、模式设置单元等模块。
本实施例提供的嵌入式网络系统通过周期性采样及统计的方式对嵌入式应用的性能进行测试,其能较全面地反映嵌入式应用系统中各模块或函数在整个系统中的消耗分布情况。有助于开发者发现应用程序运行时系统的瓶颈和优化效果的评估。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种嵌入式应用的性能测试方法,其特征在于,包括:
启动应用程序;
通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;
当所述应用程序运行结束,获取采样数据,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间;并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,包括:
根据模块或函数在所述应用程序运行时的整体耗时等于应用程序运行时位于所述各模块或函数的次数与在所述应用程序运行时采样总次数的比值再乘以采样总时间的原则计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
2.如权利要求1所述的嵌入式应用的性能测试方法,其特征在于,所述通过采样的方式周期性地探测应用程序运行时的模块或函数属性包括:
通过采样定时器控制采样流程,周期性地探测应用程序运行时的模块或函数属性;
和/或,通过采样线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性。
3.如权利要求2所述的嵌入式应用的性能测试方法,其特征在于,所述启动应用程序之前,还包括:
设置采样定时器或/和采样线程,并将启动采样定时器及采样线程的优先级设置为高于应用程序运行的优先级;
设定对应用程序进行性能测试时所针对的模式,所述模式包括基于模块模式、基于函数模式以及基于模块和函数的混合模式。
4.如权利要求1所述的嵌入式应用的性能测试方法,其特征在于,所述入口标志为通过打桩宏设置的入口桩,所述出口标志为通过打桩宏设置的出口桩;
或所述入口标志为所述模块或函数的ID,所述出口标志设置为空。
5.一种嵌入式终端设备,其特征在于,包括:
程序启动单元,用于启动应用程序;
采样统计单元,用于通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;
数据传输单元,用于当所述应用程序运行结束,获取采样数据并发送到数据分析设备,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间;以使所述数据分析设备根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,包括:
根据模块或函数在所述应用程序运行时的整体耗时等于应用程序运行时位于所述各模块或函数的次数与在所述应用程序运行时采样总次数的比值再乘以采样总时间的原则计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
6.如权利要求5所述的嵌入式终端设备,其特征在于,所述采样统计单元包括:
采样单元,用于通过采样定时器或采用线程控制采样流程,周期性地探测应用程序运行时的模块或函数属性;
统计单元,用于根据所述采样单元的探测结果统计所述应用程序运行时位于各模块或函数的次数。
7.如权利要求6所述的嵌入式终端设备,其特征在于,还包括:
采样设置单元,用于设置采样定时器或/和采样线程,并将启动采样定时器及采样线程的优先级设置为高于应用程序运行的优先级。
8.如权利要求5所述的嵌入式终端设备,其特征在于,还包括:
属性设置单元,用于预先为所述模块或函数设定的入口标志及出口标志作为所述模块或函数的属性。
9.一种嵌入式终端设备,其特征在于,包括:
程序启动单元,用于启动应用程序;
采样统计单元,用于通过采样的方式周期性地探测应用程序运行时的模块或函数属性,并根据探测结果统计所述应用程序运行时位于各模块或函数的次数;所述模块或函数属性包括预先为所述模块或函数设定的入口标志及出口标志,所述入口标志指示所述应用程序位于所述模块或函数,所述出口标志指示所述应用程序离开所述模块或函数;
数据分析单元,用于当所述应用程序运行结束,获取采样数据,所述采样数据包括所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间;并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况,包括:根据模块或函数在所述应用程序运行时的整体耗时等于应用程序运行时位于所述各模块或函数的次数与在所述应用程序运行时采样总次数的比值再乘以采样总时间的原则计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
10.一种嵌入式网络系统,其特征在于,包括权利要求5-9中任一项所述的嵌入式终端设备,以及,
数据分析设备,用于接收所述嵌入式终端设备输出的采样数据,并根据所述采样数据计算出所述各模块或函数在所述应用程序运行时的整体耗时情况;所述数据分析设备通过所述应用程序运行时位于所述各模块或函数的次数、在所述应用程序运行时采样总次数以及采样总时间,基于模块或函数在所述应用程序运行时的整体耗时等于应用程序运行时位于所述各模块或函数的次数与在所述应用程序运行时采样总次数的比值再乘以采样总时间的原则计算出所述各模块或函数在所述应用程序运行时的整体耗时情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910110538.7A CN102043707B (zh) | 2009-10-16 | 2009-10-16 | 嵌入式应用的性能测试方法、嵌入式终端设备及网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910110538.7A CN102043707B (zh) | 2009-10-16 | 2009-10-16 | 嵌入式应用的性能测试方法、嵌入式终端设备及网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102043707A CN102043707A (zh) | 2011-05-04 |
CN102043707B true CN102043707B (zh) | 2014-12-31 |
Family
ID=43909858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910110538.7A Active CN102043707B (zh) | 2009-10-16 | 2009-10-16 | 嵌入式应用的性能测试方法、嵌入式终端设备及网络系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102043707B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391359B (zh) * | 2016-05-17 | 2020-11-27 | 腾讯科技(深圳)有限公司 | 一种业务测试方法及装置 |
CN108874613B (zh) * | 2017-05-10 | 2021-11-05 | 鸿秦(北京)科技有限公司 | 一种性能瓶颈定位量化方法、装置及嵌入式io系统 |
CN107688533B (zh) * | 2017-07-25 | 2020-12-29 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
US20210248288A1 (en) * | 2018-07-19 | 2021-08-12 | Hitachi Automotive Systems, Ltd. | Simulation device, simulation method, and ecu device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564137A (zh) * | 2004-04-09 | 2005-01-12 | 中兴通讯股份有限公司 | 一种嵌入式系统多任务并发调试的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040003375A1 (en) * | 2002-06-28 | 2004-01-01 | George Jini S. | Method and system for combining dynamic instrumentation and instruction pointer sampling |
-
2009
- 2009-10-16 CN CN200910110538.7A patent/CN102043707B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564137A (zh) * | 2004-04-09 | 2005-01-12 | 中兴通讯股份有限公司 | 一种嵌入式系统多任务并发调试的方法 |
Non-Patent Citations (1)
Title |
---|
《嵌入式性能分析工具的研究与设计》;宋潇豫;《万方学位论文数据库》;20070921;第2007卷;第8-9页,第17-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102043707A (zh) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103293536B (zh) | 一种导航终端接收机的批量自动化测试方法 | |
CN106844822B (zh) | 一种支持快速虚实互换的运载火箭半实物仿真方法 | |
CN101847118B (zh) | 自动化测试系统 | |
CN102043707B (zh) | 嵌入式应用的性能测试方法、嵌入式终端设备及网络系统 | |
CN104536888A (zh) | 移动设备的游戏测试方法与系统 | |
CN103198010A (zh) | 软件测试方法、装置及系统 | |
CN106646315B (zh) | 一种数字测量仪器的自动测试系统及其测试方法 | |
CN102546047A (zh) | 一种针对终端设备开机找网时间测试的系统和方法 | |
CN110717736A (zh) | 一种建筑用施工进度智能追踪方法及系统 | |
CN202534143U (zh) | 具有无线通信功能的分析仪器系统 | |
CN109542794A (zh) | 一种应用于嵌入式系统的软件自动测试方法 | |
CN102567022A (zh) | 一种频谱分析仪类仪器系统的框架式设计方法 | |
CN101136804A (zh) | 嵌入式应用系统的性能测试装置及其方法 | |
MX2011001796A (es) | Ejecucion de procesador simulado utilizando supeditar ramificacion. | |
CN101149411A (zh) | 便携式电子装置测试系统及测试方法 | |
CN111225034B (zh) | 基于WebService的水环境安全调控模型动态集成方法和组件 | |
Özkaya et al. | Model-based, fully simulated, system-level power consumption estimation of IoT devices | |
CN109977953A (zh) | 基于yolov3的目标检测算法在嵌入式设备上的实现方法 | |
Younge et al. | Small scale to extreme: Methods for characterizing energy efficiency in supercomputing applications | |
CN103176904B (zh) | 一种仿真测试平台软件架构及基于该架构的测试方法 | |
Joe et al. | Instruction‐Level Power Estimator for Sensor Networks | |
CN102779090A (zh) | 一种桌面虚拟化系统性能测量方法和系统 | |
CN102012955B (zh) | 获取背板连接器针头钻阵列的散射矩阵的方法和装置 | |
CN104077223A (zh) | 一种智能计量产品检测系统 | |
CN205898913U (zh) | 电子测试设备测试用通用工装 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160111 Address after: The South Road in Guangdong province Shenzhen city Fiyta building 518057 floor 5-10 Nanshan District high tech Zone Patentee after: Shenzhen Tencent Computer System Co., Ltd. Address before: 518057 Guangdong city of Shenzhen province high tech Park high-tech South Road Fiyta high-tech building 7 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |