[发明专利]一种软件优化方法及装置有效
申请号: | 201410628332.4 | 申请日: | 2014-11-10 |
公开(公告)号: | CN105653244B | 公开(公告)日: | 2019-04-19 |
发明(设计)人: | 李计勇 | 申请(专利权)人: | 华为数字技术(苏州)有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 215123 江苏省苏州市苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 优化 方法 装置 | ||
本发明实施例公开了一种软件优化方法,包括:通过扫描软件获取所述软件中的优化代码段;根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。本发明实施例还公开了一种软件优化装置。采用本发明实施例,减少了软件执行过程中的循环和判断流程,提高了软件的执行效率。
技术领域
本发明涉及电子技术领域,尤其涉及一种软件优化方法及装置。
背景技术
随着计算机科学技术的发展,计算机在各个领域中扮演着越来越重要的角色,因此各个领域对计算机的计算能力越来越高的要求。为了获得更高的计算能力,一般通过提高计算并行程度来提高计算机运行性能,其中,CPU(Central Processing Unit,中央处理器)厂商通过增加CPU的核数来提高计算机的计算能力,软件厂商通过提升软件的并行能力来提供更快的软件。
在现有技术方案中,第一,通过多核CPU将任务划分为更小粒度的子任务来并行执行以进行算法优化,可以减少CPU在闲置等待上面的时间浪费,从而提高计算效率。第二,通过减少指令条数,循环优化,分支跳转优化,优化数据结构,减少缓存遗漏等方式以进行指令级的性能优化。但是,上述优化方法都是在软件运行之前均已完成,因此有必要提供一种在软件运行过程中对软件进行优化的方法。
发明内容
本发明实施例提供一种软件优化方法及装置。可以减少软件执行过程中的循环和判断流程,提高软件的执行效率。
本发明实施例第一方面提供了一种软件优化方法,包括:
通过扫描软件获取所述软件中的优化代码段;
根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;
在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
在第一方面的第一种可能的实现方式中,所述通过扫描软件获取所述软件中的预设优化代码段包括:
获取所述优化代码段的预设起始位置以及预设结束位置;
根据所述优化代码段的预设起始位置以及预设结束位置,识别出所述软件中的优化代码段。
在第一方面的第二种可能的实现方式中,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;
获取所述优化代码段的运行结果;
根据所述优化代码段的运行结果生成得到函数指令。
在第一方面的第三种可能的实现方式中,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
判断所述优化代码段所挂接的业务配置是否发生切换;
若所述优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。
结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令包括:
在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为数字技术(苏州)有限公司,未经华为数字技术(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410628332.4/2.html,转载请声明来源钻瓜专利网。