[发明专利]基于函数参数统计的程序运行效率优化方法及终端设备有效
申请号: | 201910875312.X | 申请日: | 2019-09-17 |
公开(公告)号: | CN110716747B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 汤增宏 | 申请(专利权)人: | 百富计算机技术(深圳)有限公司 |
主分类号: | G06F8/72 | 分类号: | G06F8/72;G06F11/34 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 朱肖凤 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 函数 参数 统计 程序 运行 效率 优化 方法 终端设备 | ||
本发明适用于程序优化技术领域,提供了基于函数参数统计的程序运行效率优化方法及终端设备,该方法包括:获取与函数名称对应的两个内存地址以及两个执行指令;将预设异常指令替换两个执行指令中的任一个执行指令;执行预设异常指令对应的预设异常程序,由预设异常指令对应的预设异常程序将对应的执行指令还原至触发预设异常指令的内存地址处,将另一执行指令替换为预设异常指令,并更新待处理函数的使用次数,当预设定时器时间达到时,将两个执行指令分别还原至对应的两个内存地址处,确定统计结果,可以在不需要修改程序代码的情况下达到获取程序运行时指定函数的调用频率,提高统计效率,将调用频率高的函数优化,提高程序优化效率。
技术领域
本发明属于程序优化技术领域,尤其涉及一种基于函数参数统计的程序运行效率优化方法及终端设备。
背景技术
在程序执行过程中,为了完成操作,一个程序通常还需要获取其他正在执行的程序的执行参数。为了优化程序运行的效率,针对程序中使用频率较高的函数可以进行重点优化,这样可以对整个程序的运行效率起到极大作用。
现有技术中一般统计函数的使用频率时,通常是通过修改程序对应的软件代码来增加调试信息来达到目的。然而,通过反复修改软件代码来统计函数的使用频率,使得统计效率极低,从而导致程序优化效率低。
发明内容
有鉴于此,本发明实施例提供了一种基于函数参数统计的程序运行效率优化方法及终端设备,以解决现有技术中通过反复修改软件代码来统计函数的使用频率,使得统计效率极低,从而导致程序优化效率低的问题。
本发明实施例的第一方面提供了一种基于函数参数统计的程序运行效率优化方法,包括:
获取与待处理函数的函数名称对应的两个内存地址以及所述两个内存地址上的两个执行指令,并将预设异常指令替换所述两个执行指令中的任一个执行指令;
当程序运行到所述预设异常指令时,由所述预设异常指令对应的预设异常程序将对应的执行指令还原至触发所述预设异常指令的内存地址处,将另一执行指令替换为所述预设异常指令,并更新所述待处理函数的使用次数;当预设定时器时间达到时,将所述两个执行指令分别还原至对应的两个内存地址处,并确定统计结果;
将所述程序中的统计结果达到预设阈值的待处理函数进行优化。
在一实施例中,所述两个内存地址包括第一内存地址和第二内存地址;
所述两个执行指令包括所述第一内存地址上的第一执行指令和所述第二内存地址上的第二执行指令;
在首次采用预设异常指令替换执行指令时,将所述预设异常指令替换所述第一执行指令。
在一实施例中,在所述获取与待处理函数的函数名称对应的两个内存地址以及所述两个内存地址上的两个执行指令之前,还包括:
获取待处理函数的函数名称以及统计时间段。
在一实施例中,所述获取与待处理函数的函数名称对应的两个内存地址以及所述两个内存地址上的两个执行指令,包括:
根据获取的待处理函数的函数名称,获取与所述函数名称对应的第一内存地址;
读取所述第一内存地址上的第一执行指令,并根据所述第一内存地址以及所述第一执行指令的长度,计算第二执行指令对应的第二内存地址,所述第一执行指令与所述第二执行指令为同一个待处理函数下的包括的两个执行指令;
在所述获取与待处理函数的函数名称对应的两个内存地址以及所述两个内存地址上的两个执行指令之后,还包括:
备份所述第一执行指令和所述第二执行指令。
在一实施例中,在所述将预设异常指令替换所述两个执行指令中的任一个执行指令之后,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百富计算机技术(深圳)有限公司,未经百富计算机技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910875312.X/2.html,转载请声明来源钻瓜专利网。