[发明专利]一种函数执行时间的测试方法及装置有效
申请号: | 201710218404.1 | 申请日: | 2017-04-05 |
公开(公告)号: | CN107025173B | 公开(公告)日: | 2021-08-31 |
发明(设计)人: | 陈礼娟;王俊俊 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 执行时间 测试 方法 装置 | ||
本发明公开了一种函数执行时间的测试方法及装置,其中该方法包括:接收测试指令,并根据该测试指令获取函数跟踪进程,该函数跟踪进程用于获取待测试函数的时间测试参数;通过预设钩子函数对函数跟踪进程进行挂起,并触发开启跟踪功能;在开启跟踪功能后,确定待测试函数是否满足预设条件;当确定待测试函数满足预设条件时,返回函数跟踪进程,并测试出待测试函数的执行时间。由于利用钩子对函数跟踪进程进行挂起,改变了待测试函数的执行路径,且在开启跟踪功能后,先对待测试函数进行判断,满足预设条件的函数才进行测试和记录函数耗时的逻辑,因此可以过滤掉一些无用的函数耗时数据,大大减少函数耗时数据的内存占用空间,降低系统资源浪费。
技术领域
本发明属于通信技术领域,尤其涉及一种函数执行时间的测试方法及装置。
背景技术
目前在对电子设备(如手机、平板电脑、电视等)的性能进行测试时,需要定位当前应用程序(app,application)调用了哪些函数并且这些函数调用或占用中央处理器(CPU,Central Processing Unit)的执行时间,帮助开发人员和测试人员能够更快定位和查找到相应的函数位置。
如,通过traceView(一种测试应用程序性能的工具)进行测试时,从抓取执行的函数开始计算耗时,到抓取该进程所有被执行的函数,得到的函数耗时数据在短时间内3至5秒就可以达到8M(兆字节),从而造成系统内存空间占用较大,系统资源浪费。
发明内容
本发明的目的在于提供一种函数执行时间的测试方法及装置,旨在减少函数耗时数据的内存占用空间,降低系统资源浪费。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明提供一种函数执行时间的测试方法,其中包括:
接收测试指令,并根据所述测试指令获取函数跟踪进程,所述函数跟踪进程用于获取待测试函数的时间测试参数;
通过预设钩子函数对所述函数跟踪进程进行挂起,并触发开启跟踪功能;
在开启跟踪功能后,确定待测试函数是否满足预设条件;
当确定所述待测试函数满足预设条件时,返回所述函数跟踪进程,并测试出所述待测试函数的执行时间。
第二方面,本发明一种函数执行时间的测试装置,其中包括:
接收单元,用于接收测试指令;
获取单元,用于根据所述测试指令获取函数跟踪进程,所述函数跟踪进程用于获取待测试函数的时间测试参数;
挂起单元,用于通过预设钩子函数对所述函数跟踪进程进行挂起,并触发开启跟踪功能;
确定单元,用于在开启跟踪功能后,确定待测试函数是否满足预设条件;
测试单元,用于当确定所述待测试函数满足预设条件时,返回所述函数跟踪进程,并测试出所述待测试函数的执行时间。
相对于现有技术,本实施例,在接收到测试指令后,可以先获取函数跟踪进程,并通过预设钩子函数对函数跟踪进程进行挂起,其中函数跟踪进程用于获取待测试函数的时间测试参数,在挂起函数跟踪进程后开启跟踪功能,当确定待测试函数满足预设条件时,返回函数跟踪进程,并测试出待测试函数的执行时间;由于利用钩子对函数跟踪进程进行挂起,改变了待测试函数的执行路径,且在开启跟踪功能后,先对待测试函数进行判断,满足预设条件的函数才进行测试和记录函数耗时的逻辑,因此可以过滤掉一些无用的函数耗时数据,大大的减少函数耗时数据的内存占用空间,降低系统资源浪费。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1是本发明实施例提供的函数执行时间的测试方法的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710218404.1/2.html,转载请声明来源钻瓜专利网。