CN105653244B - 一种软件优化方法及装置 - Google Patents

一种软件优化方法及装置 Download PDF

Info

Publication number
CN105653244B
CN105653244B CN201410628332.4A CN201410628332A CN105653244B CN 105653244 B CN105653244 B CN 105653244B CN 201410628332 A CN201410628332 A CN 201410628332A CN 105653244 B CN105653244 B CN 105653244B
Authority
CN
China
Prior art keywords
code section
optimized code
software
instruction
optimized
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
Application number
CN201410628332.4A
Other languages
English (en)
Other versions
CN105653244A (zh
Inventor
李计勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Digital Technologies Suzhou Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Digital Technologies Suzhou Co Ltd filed Critical Huawei Digital Technologies Suzhou Co Ltd
Priority to CN201410628332.4A priority Critical patent/CN105653244B/zh
Publication of CN105653244A publication Critical patent/CN105653244A/zh
Application granted granted Critical
Publication of CN105653244B publication Critical patent/CN105653244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种软件优化方法,包括:通过扫描软件获取所述软件中的优化代码段;根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。本发明实施例还公开了一种软件优化装置。采用本发明实施例,减少了软件执行过程中的循环和判断流程,提高了软件的执行效率。

Description

一种软件优化方法及装置
技术领域
本发明涉及电子技术领域,尤其涉及一种软件优化方法及装置。
背景技术
随着计算机科学技术的发展,计算机在各个领域中扮演着越来越重要的角色,因此各个领域对计算机的计算能力越来越高的要求。为了获得更高的计算能力,一般通过提高计算并行程度来提高计算机运行性能,其中,CPU(Central Processing Unit,中央处理器)厂商通过增加CPU的核数来提高计算机的计算能力,软件厂商通过提升软件的并行能力来提供更快的软件。
在现有技术方案中,第一,通过多核CPU将任务划分为更小粒度的子任务来并行执行以进行算法优化,可以减少CPU在闲置等待上面的时间浪费,从而提高计算效率。第二,通过减少指令条数,循环优化,分支跳转优化,优化数据结构,减少缓存遗漏等方式以进行指令级的性能优化。但是,上述优化方法都是在软件运行之前均已完成,因此有必要提供一种在软件运行过程中对软件进行优化的方法。
发明内容
本发明实施例提供一种软件优化方法及装置。可以减少软件执行过程中的循环和判断流程,提高软件的执行效率。
本发明实施例第一方面提供了一种软件优化方法,包括:
通过扫描软件获取所述软件中的优化代码段;
根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;
在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
在第一方面的第一种可能的实现方式中,所述通过扫描软件获取所述软件中的预设优化代码段包括:
获取所述优化代码段的预设起始位置以及预设结束位置;
根据所述优化代码段的预设起始位置以及预设结束位置,识别出所述软件中的优化代码段。
在第一方面的第二种可能的实现方式中,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;
获取所述优化代码段的运行结果;
根据所述优化代码段的运行结果生成得到函数指令。
在第一方面的第三种可能的实现方式中,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
判断所述优化代码段所挂接的业务配置是否发生切换;
若所述优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。
结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,所述在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令包括:
在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址;
根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令之后,还包括:
在所述函数指令执行完成时,获取所述优化代码段的预设结束位置;
根据所述优化代码段的预设结束位置,跳转到所述优化代码段的预设结束位置处执行所述软件中其他代码段。
相应地,本发明实施例第二方面提供了一种软件优化装置,包括:
代码段获取模块,用于通过扫描软件获取所述软件中的优化代码段;
指令生成模块,用于根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;
指令执行模块,用于在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
在第二方面的第一种可能的实现方式中,所述代码段获取模块包括:
地址获取单元,用于获取所述优化代码段的预设起始位置以及预设结束位置;
代码段识别单元,用于根据所述优化代码段的预设起始位置以及预设结束位置,识别出所述软件中的优化代码段。
在第二方面的第二种可能的实现方式中,所述指令生成模块,具体用于根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;获取所述优化代码段的运行结果;根据所述优化代码段的运行结果生成得到函数指令。
在第二方面的第三种可能的实现方式中,所述指令生成模块,具体用于根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述指令生成模块,还用于判断所述优化代码段所挂接的业务配置是否发生切换;若所述优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。
结合第二方面的第三种可能的实现方式,在第二方面的第五种可能的实现方式中,所述指令执行模块,具体用于在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址;根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述指令执行模块,还用于在所述函数指令执行完成时,获取所述优化代码段的预设结束位置;根据所述优化代码段的预设结束位置,跳转到所述优化代码段的预设结束位置处执行所述软件中其他代码段。
相应地,本发明实施例第二方面提供了另一种软件优化装置,所述装置包括网络接口、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
通过扫描软件获取所述软件中的优化代码段;
根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;
在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
实施本发明实施例,首先通过扫描软件获取软件中的优化代码段;然后根据当前优化代码段所挂接的业务配置,将优化代码段生成得到函数指令;最后在软件运行到优化代码段的起始位置时,执行生成得到的函数指令,从而减少了软件执行过程中的循环和判断流程,提高了软件的执行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提出的一种软件优化方法的第一实施例的流程图;
图2是本发明提出的一种软件优化方法的另一实施例的流程图;
图3是本发明实施例提供的一种软件优化流程的显示示意图;
图4是本发明实施例提出的一种软件优化装置的结构示意图;
图5是本发明实施例提出的软件优化装置中代码段获取模块的结构示意图;
图6是本发明提出的一种软件优化装置的另一实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1是本发明提出的一种软件优化方法的第一实施例的流程图。如图所示,本发明实施例中的软件优化方法包括:
S101,通过扫描软件获取所述软件中的优化代码段。
具体实现中,可以获取优化代码段的预设起始位置以及预设结束位置;根据优化代码段的预设起始位置以及预设结束位置,识别出软件中的优化代码段。例如:如图3所示,软件包括代码段A、代码段B以及代码段C,其中,代码段B为优化代码段。在编写代码时可以预先标记代码段B的起始位置以及结束位置以在对软件进行扫描时扫描得到代码段B。需要说明的是,软件的执行流程不局限于包括如图3所示的3个代码段,还可以包括其他任何数量的代码段,同时,优化代码段也不局限于包括如图3所示的1个代码段,还可以包括其他数量的代码段,可以同时对多个优化代码段进行处理。
S102,根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令。
具体实现中,根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;获取所述优化代码段的运行结果;根据所述优化代码段的运行结果生成得到函数指令。其中,业务配置可以为预设的配置文件或者用户控制台输入的指令。
例如:网络设备在处理一个报文时,报文处理过程包括收包、包处理流程1、包处理流程2、包处理流程3以及发包等阶段,系统除了执行上述处理报文的几个阶段之外,在每个处理阶段的前后可能加入一些业务配置的点,如:NAT(Network Address Translation,网络地址转换)策略配置,通过注册回调函数将这些业务配置的点挂接到软件的主流程运行过程中,软件优化代码段所挂接的业务配置不同,软件优化代码段的运行结果不同。因此,多个业务配置可以分别对应一个函数指令。进一步的,当某个/些业务配置从所述优化代码段去除后,相应的,回调函数也从所述优化代码段摘除。
可选的,根据当前优化代码段所挂接的业务配置,在预设的第一指令生成区将优化代码段生成得到函数指令。
可选的,判断优化代码段所挂接的业务配置是否发生切换;若优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将优化代码段生成得到函数指令。具体的,软件的处理过程包括初始化流程以及主循环流程,在初始化流程中优化代码所挂接的业务配置为软件上一次运行时挂接的业务配置,并且该业务配置对应的函数指令存储在预设的第一指令生成区。因此,在初始化过程结束执行主循环过程时,如果优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。如果优化代码段所挂接的业务配置未发生切换,则可以继续执行下述步骤。
S103,在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
具体实现中,可以在软件运行到优化代码段的预设起始位置时,获取预设的第一指令生成区的地址;根据预设的第一指令生成区的地址,跳转到预设的第一指令生成区执行函数指令。在函数指令执行完成时,获取优化代码段的预设结束位置;根据优化代码段的预设结束位置,跳转到优化代码段的预设结束位置处执行软件中其他代码段。
例如:如图3所示,当检测到代码段A执行完成并运行到代码段B的预设起始位置时,主循环过程跳转到如图3右侧所示的指令生成区,当函数指令执行完成时,主循环过程跳转到代码段B的预设结束位置,开始执行代码段C,直到软件运行结束。
可选的,如果优化代码段所挂接的业务配置发生切换,在根据优化代码段所挂接的新的业务配置,在预设的第二指令生成区将优化代码段生成得到新的函数指令之后,当软件运行到所述优化代码段的预设起始位置时,跳转到预设的第二指令生成区执行新的函数指令。
在本发明实施例中,首先通过扫描软件获取软件中的优化代码段;然后根据当前优化代码段所挂接的业务配置,将优化代码段生成得到函数指令;最后在软件运行到优化代码段的起始位置时,执行生成得到的函数指令,从而减少了软件执行过程中的循环和判断流程,提高了软件的执行效率。
请参考图2,图2是本发明提出的一种软件优化方法的另一实施例的流程图。如图所示,本发明实施例中的软件优化方法包括:
S201,通过扫描软件获取所述软件中的优化代码段。
具体实现中,可以获取优化代码段的预设起始位置以及预设结束位置;根据优化代码段的预设起始位置以及预设结束位置,识别出软件中的优化代码段。例如:如图3所示,软件包括代码段A、代码段B以及代码段C,其中,代码段B为优化代码段。在编写代码时可以预先标记代码段B的起始位置以及结束位置以在对软件进行扫描时扫描得到代码段B。需要说明的是,软件的执行流程不局限于包括如图3所示的3个代码段,还可以包括其他任何数量的代码段,同时,优化代码段也不局限于包括如图3所示的1个代码段,还可以包括其他数量的代码段,可以同时对多个优化代码段进行处理。
S202,根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令。
具体实现中,根据当前优化代码段所挂接的业务配置,运行优化代码段;获取优化代码段的运行结果;根据优化代码段的运行结果生成得到函数指令。其中,业务配置可以为预设的配置文件或者用户控制台输入的指令。
例如:网络设备在处理一个报文时,报文处理过程包括收包、包处理流程1、包处理流程2、包处理流程3以及发包等阶段,系统除了执行上述处理报文的几个阶段之外,在每个处理阶段的前后可能加入一些业务配置的点,如:NAT(Network Address Translation,网络地址转换)策略配置,通过注册回调函数将这些业务配置的点挂接到软件的主流程运行过程中,软件优化代码段所挂接的业务配置不同,软件优化代码段的运行结果不同。因此,多个业务配置可以分别对应一个函数指令。进一步的,当某个/些业务配置从所述优化代码段去除后,相应的,回调函数也从所述优化代码段摘除。
可选的,根据当前优化代码段所挂接的业务配置,在预设的第一指令生成区将优化代码段生成得到函数指令。
可选的,判断优化代码段所挂接的业务配置是否发生切换;若优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将优化代码段生成得到函数指令。具体的,软件的处理过程包括初始化流程以及主循环流程,在初始化流程中优化代码所挂接的业务配置为软件上一次运行时挂接的业务配置,并且该业务配置对应的函数指令存储在预设的第一指令生成区。因此,在初始化过程结束执行主循环过程时,如果优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。如果优化代码段所挂接的业务配置未发生切换,则可以继续执行下述步骤。
S203,在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址。
S204,根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令。
具体实现中,在函数指令执行完成时,获取优化代码段的预设结束位置;根据优化代码段的预设结束位置,跳转到优化代码段的预设结束位置处执行软件中其他代码段。
例如:如图3所示,当检测到代码段A执行完成并运行到代码段B的预设起始位置时,主循环过程跳转到如图3右侧所示的指令生成区,当函数指令执行完成时,主循环过程跳转到代码段B的预设结束位置,开始执行代码段C,直到软件运行结束。
可选的,如果优化代码段所挂接的业务配置发生切换,在根据优化代码段所挂接的新的业务配置,在预设的第二指令生成区将优化代码段生成得到新的函数指令之后,当软件运行到所述优化代码段的预设起始位置时,跳转到预设的第二指令生成区执行新的函数指令。
在本发明实施例中,首先通过扫描软件获取软件中的优化代码段;然后根据当前优化代码段所挂接的业务配置,将优化代码段生成得到函数指令;最后在软件运行到优化代码段的起始位置时,执行生成得到的函数指令,从而减少了软件执行过程中的循环和判断流程,提高了软件的执行效率。
请参考图4,图4是本发明实施例提出的一种软件优化装置的结构示意图。如图所示,本发明实施例中的软件优化装置包括:
代码段获取模块401,用于通过扫描软件获取所述软件中的优化代码段。
具体实现中,如图5所示,代码段获取模块401可以进一步包括:
地址获取单元501,用于获取所述优化代码段的预设起始位置以及预设结束位置。
代码段识别单元502,用于根据所述优化代码段的预设起始位置以及预设结束位置,识别出所述软件中的优化代码段。
例如:如图3所示,软件包括代码段A、代码段B以及代码段C,其中,代码段B为优化代码段。在编写代码时可以预先标记代码段B的起始位置以及结束位置以在对软件进行扫描时扫描得到代码段B。需要说明的是,软件的执行流程不局限于包括如图3所示的3个代码段,还可以包括其他任何数量的代码段,同时,优化代码段也不局限于包括如图3所示的1个代码段,还可以包括其他数量的代码段,可以同时对多个优化代码段进行处理。
指令生成模块402,用于根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令。
具体实现中,根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;获取所述优化代码段的运行结果;根据所述优化代码段的运行结果生成得到函数指令。其中,业务配置可以为预设的配置文件或者用户控制台输入的指令。
例如:网络设备在处理一个报文时,报文处理过程包括收包、包处理流程1、包处理流程2、包处理流程3以及发包等阶段,系统除了执行上述处理报文的几个阶段之外,在每个处理阶段的前后可能加入一些业务配置的点,如:NAT(Network Address Translation,网络地址转换)策略配置,通过注册回调函数将这些业务配置的点挂接到软件的主流程运行过程中,软件优化代码段所挂接的业务配置不同,软件优化代码段的运行结果不同。因此,多个业务配置可以分别对应一个函数指令。进一步的,当某个/些业务配置从所述优化代码段去除后,相应的,回调函数也从所述优化代码段摘除。
可选的,根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令。
可选的,判断优化代码段所挂接的业务配置是否发生切换;若优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将优化代码段生成得到函数指令。具体的,软件的处理过程包括初始化流程以及主循环流程,在初始化流程中优化代码所挂接的业务配置为软件上一次运行时挂接的业务配置,并且该业务配置对应的函数指令存储在预设的第一指令生成区。因此,在初始化过程结束执行主循环过程时,如果优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。如果优化代码段所挂接的业务配置未发生切换,则可以继续执行下述操作模块。
指令执行模块403,用于在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
具体实现中,可以在软件运行到优化代码段的预设起始位置时,获取预设的第一指令生成区的地址;根据预设的第一指令生成区的地址,跳转到预设的第一指令生成区执行函数指令。在函数指令执行完成时,获取优化代码段的预设结束位置;根据优化代码段的预设结束位置,跳转到优化代码段的预设结束位置处执行软件中其他代码段。
例如:如图3所示,当检测到代码段A执行完成并运行到代码段B的预设起始位置时,主循环过程跳转到如图3右侧所示的指令生成区,当函数指令执行完成时,主循环过程跳转到代码段B的预设结束位置,开始执行代码段C,直到软件运行结束。
可选的,如果优化代码段所挂接的业务配置发生切换,在根据优化代码段所挂接的新的业务配置,在预设的第二指令生成区将优化代码段生成得到新的函数指令之后,当软件运行到所述优化代码段的预设起始位置时,跳转到预设的第二指令生成区执行新的函数指令。
在本发明实施例中,首先通过扫描软件获取软件中的优化代码段;然后根据当前优化代码段所挂接的业务配置,将优化代码段生成得到函数指令;最后在软件运行到优化代码段的起始位置时,执行生成得到的函数指令,从而减少了软件执行过程中的循环和判断流程,提高了软件的执行效率。
图6是本发明提出的一种软件优化装置的另一实施例的结构示意图。如图所示,该装置可以包括:至少一个处理器601,例如CPU,至少一个接收器603,至少一个存储器604,至少一个发送器605,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,本发明实施例中装置的接收器603和发送器605可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器604可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器604可选的还可以是至少一个位于远离前述处理器601的存储装置。存储器604中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
通过扫描软件获取所述软件中的优化代码段;
根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令;
在所述软件运行到所述优化代码段的预设起始位置时,执行生成得到的所述函数指令。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的内容下载方法及相关设备、系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种软件优化方法,其特征在于,所述方法包括:
通过扫描软件获取所述软件中的优化代码段;
根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令,在初始化流程中所述优化代码段所挂接的业务配置为所述软件上一次运行时挂接的业务配置,所述函数指令是存储在所述第一指令生成区中的所述业务配置对应的函数指令;
在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址;根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令;
在所述函数指令执行完成时,获取所述优化代码段的预设结束位置;根据所述优化代码段的预设结束位置,跳转到所述优化代码段的预设结束位置处执行所述软件中其他代码段。
2.如权利要求1所述方法,其特征在于,所述通过扫描软件获取所述软件中的预设优化代码段包括:
获取所述优化代码段的预设起始位置以及预设结束位置;
根据所述优化代码段的预设起始位置以及预设结束位置,识别出所述软件中的优化代码段。
3.如权利要求1所述方法,其特征在于,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;
获取所述优化代码段的运行结果;
根据所述优化代码段的运行结果生成得到函数指令。
4.如权利要求1所述方法,其特征在于,所述根据当前所述优化代码段所挂接的业务配置,将所述优化代码段生成得到函数指令包括:
判断所述优化代码段所挂接的业务配置是否发生切换;
若所述优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。
5.一种软件优化装置,其特征在于,所述装置包括:
代码段获取模块,用于通过扫描软件获取所述软件中的优化代码段;
指令生成模块,用于根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令,在初始化流程中所述优化代码段所挂接的业务配置为所述软件上一次运行时挂接的业务配置,所述函数指令是存储在所述第一指令生成区中的所述业务配置对应的函数指令;
指令执行模块,用于在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址;根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令;
所述指令执行模块,还用于在所述函数指令执行完成时,获取所述优化代码段的预设结束位置;根据所述优化代码段的预设结束位置,跳转到所述优化代码段的预设结束位置处执行所述软件中其他代码段。
6.如权利要求5所述装置,其特征在于,所述代码段获取模块包括:
地址获取单元,用于获取所述优化代码段的预设起始位置以及预设结束位置;
代码段识别单元,用于根据所述优化代码段的预设起始位置以及预设结束位置,识别出所述软件中的优化代码段。
7.如权利要求5所述装置,其特征在于,
所述指令生成模块,具体用于根据当前所述优化代码段所挂接的业务配置,运行所述优化代码段;获取所述优化代码段的运行结果;根据所述优化代码段的运行结果生成得到函数指令。
8.如权利要求5所述装置,其特征在于,
所述指令生成模块,还用于判断所述优化代码段所挂接的业务配置是否发生切换;若所述优化代码段所挂接的业务配置发生切换,则在预设的第二指令生成区将所述优化代码段生成得到函数指令。
9.一种软件优化装置,其特征在于,所述装置包括网络接口、存储器以及处理器,其中,存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
通过扫描软件获取所述软件中的优化代码段;
根据当前所述优化代码段所挂接的业务配置,在预设的第一指令生成区将所述优化代码段生成得到函数指令,在初始化流程中所述优化代码段所挂接的业务配置为所述软件上一次运行时挂接的业务配置,所述函数指令是存储在所述第一指令生成区中的所述业务配置对应的函数指令;
在所述软件运行到所述优化代码段的预设起始位置时,获取所述预设的第一指令生成区的地址;根据所述预设的第一指令生成区的地址,跳转到所述预设的第一指令生成区执行所述函数指令;
在所述函数指令执行完成时,获取所述优化代码段的预设结束位置;根据所述优化代码段的预设结束位置,跳转到所述优化代码段的预设结束位置处执行所述软件中其他代码段。
CN201410628332.4A 2014-11-10 2014-11-10 一种软件优化方法及装置 Active CN105653244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410628332.4A CN105653244B (zh) 2014-11-10 2014-11-10 一种软件优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410628332.4A CN105653244B (zh) 2014-11-10 2014-11-10 一种软件优化方法及装置

Publications (2)

Publication Number Publication Date
CN105653244A CN105653244A (zh) 2016-06-08
CN105653244B true CN105653244B (zh) 2019-04-19

Family

ID=56482371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410628332.4A Active CN105653244B (zh) 2014-11-10 2014-11-10 一种软件优化方法及装置

Country Status (1)

Country Link
CN (1) CN105653244B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134437B (zh) * 2019-05-13 2022-12-16 中国电子科技集团公司第三十八研究所 一种软件流水优化方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475909A (zh) * 2002-08-16 2004-02-18 华为技术有限公司 一种嵌入式系统软件补丁的实现和控制方法
CN101256482A (zh) * 2007-12-19 2008-09-03 深圳市同洲电子股份有限公司 一种嵌入式应用程序的开发系统及方法
CN102508657A (zh) * 2011-10-18 2012-06-20 北京空间飞行器总体设计部 一种航天器嵌入式软件模块维护方法
CN103761184A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 程序的代码段测试方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5042487B2 (ja) * 2005-11-22 2012-10-03 株式会社日立ソリューションズ コンピュータの動作方法、プログラム、コンピュータ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475909A (zh) * 2002-08-16 2004-02-18 华为技术有限公司 一种嵌入式系统软件补丁的实现和控制方法
CN101256482A (zh) * 2007-12-19 2008-09-03 深圳市同洲电子股份有限公司 一种嵌入式应用程序的开发系统及方法
CN102508657A (zh) * 2011-10-18 2012-06-20 北京空间飞行器总体设计部 一种航天器嵌入式软件模块维护方法
CN103761184A (zh) * 2013-12-31 2014-04-30 华为技术有限公司 程序的代码段测试方法、装置和系统

Also Published As

Publication number Publication date
CN105653244A (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
CN112597754B (zh) 文本纠错方法、装置、电子设备和可读存储介质
CN109033001B (zh) 用于分配gpu的方法和装置
CN113641457B (zh) 容器创建方法、装置、设备、介质及程序产品
CN105760199B (zh) 一种应用资源加载方法及其设备
US10127955B2 (en) Memory activation method and apparatus, and memory controller
US9043806B2 (en) Information processing device and task switching method
US20190004959A1 (en) Methods and devices for managing cache
CN109814988A (zh) 任务处理方法及系统
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储系统
CN102045397A (zh) Telnet登录嵌入式终端以进行调试的方法及设备
CN104239088A (zh) 对分布式计算机网络的节点执行操作
CN106934027A (zh) 分布式爬虫实现方法及系统
CN114025037B (zh) 一种云手机的检修方法、装置、电子设备和存储介质
CN109787918A (zh) 基于网络传输的数据加速方法、装置、系统及一种加速卡
CN105653244B (zh) 一种软件优化方法及装置
CN110413328A (zh) 一种网卡端口的pxe功能使能方法、装置及相关设备
CN112925586B (zh) 一种小程序路由方法、装置、计算机设备及存储介质
CN102622274B (zh) 计算机装置及其中断任务分配方法
CN109992526A (zh) 一种读写管理方法以及相关装置
CN103024928A (zh) 一种终端无线连接的方法及无线终端
CN116502680B (zh) 一种用于混合专家模型的并行训练方法及装置
CN110958562A (zh) 一种调制方式选择方法及近场通信装置、存储介质
US9396044B2 (en) Memory efficient thread-level speculation
CN110383232A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211228

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 215123 Building A3, Creative Industry Park, 328 Xinghu Street, Suzhou Industrial Park, Jiangsu Province

Patentee before: Huawei digital technology (Suzhou) Co.,Ltd.

Effective date of registration: 20211228

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.