一种优化程序编译的方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38808193 阅读:15 留言:0更新日期:2023-09-15 19:47
本申请公开了一种优化程序编译的方法、装置、电子设备和存储介质,涉及计算机技术领域,该方法为:电子设备可以采用编译工具对待编译代码文件进行编译,获得原始程序,运行原始程序获得原始程序的profile文件;将profile文件和原始程序的描述信息,传输至目标数据管理服务器,从而目标数据管理服务器,对profile文件进行格式化处理,获得第一版本格式化文件,将第一版本格式化文件和原始程序对应的各历史版本格式化profile文件,进行关联保存,进而电子设备可以基于第一版本格式化文件和至少一个历史版本格式化文件,对原始程序进行优化,获得目标程序。这样,可以快速获得版本格式化文件,提升优化程序编译的效率。提升优化程序编译的效率。提升优化程序编译的效率。

【技术实现步骤摘要】
一种优化程序编译的方法、装置、电子设备和存储介质


[0001]本申请涉及计算机
,尤其涉及一种优化程序编译的方法、装置、电子设备和存储介质。

技术介绍

[0002]随着计算机技术的快速发展,对象可以基于电子设备对应的编译器对应配置的性能优化方法(Profile

guided optimization,PGO),对程序进行优化,这样,可以优化针对程序的优化流程,提升对程序的优化效率。
[0003]目前,存在多种不同的程序,且同一程序存在不同版本,那么,不同程序的不同版本对应的配置不同。这样,当编译器需要对新的程序进行优化时,需要基于新的程序的程序信息和当前版本信息所对应确定的配置进行编译器的PGO优化,因此需要确定新的配置,以实施新的PGO对前述的新的程序进行优化。
[0004]具体的,相关技术下一般采用以下两个步骤实施PGO:
[0005]步骤1:电子设备接收待编译的代码文件,基于编译器对代码文件中的代码进行插桩编译,运行插桩编译的程序后,获得配置(profile)文件,其中,该profile文件为程序运行时的数据信息,以文件的形式写入磁盘所获得的。
[0006]步骤2:电子设备对profile文件进行预处理,获得预处理文件,并对预处理文件进行分析,从而根据分析结果,确定代码文件对应的程序进行极限优化的策略,并基于策略对程序进行优化,使得程序更加符合运行时的要求。其中,该预处理文件符合编译器的读取要求。
[0007]显然,相关技术下,每次实施PGO时,电子设备均需要产生和获取profile文件,以及对其进行预处理,使得整个PGO实施过程较为复杂,导致整个编译流程较长,降低优化程序编译的效率;并且,相关技术下并未对profile文件进行管理,导致后续获取profile文件对程序进行优化时,可能无法快速获取对应的profile文件,导致对优化程序编译的效率较低。

技术实现思路

[0008]本申请实施例中提供了一种优化程序编译的方法、装置、电子设备和存储介质,用于提高优化程序编译的效率。
[0009]一方面,提供一种优化程序编译的方法,所述方法包括:
[0010]采用编译工具对待编译代码文件进行编译,获得原始程序,并运行所述原始程序,获得所述原始程序的配置profile文件;
[0011]基于所述编译工具对应的配置信息,确定目标数据管理服务器,并将所述profile文件和所述原始程序的描述信息,传输至所述目标数据管理服务器;以使所述目标数据管理服务器,对所述profile文件进行格式化处理,获得第一版本格式化文件,并将所述第一版本格式化文件,和所述原始程序对应的各历史版本格式化文件,进行关联保存;
[0012]基于从所述目标数据管理服务器中获取的,所述第一版本格式化文件和至少一个历史版本格式化文件,对所述原始程序进行优化,获得相应的目标程序。
[0013]一方面,提供一种优化程序编译的装置,所述装置包括:
[0014]获得单元,用于采用编译工具对待编译代码文件进行编译,获得原始程序,并运行所述原始程序,获得所述原始程序的配置profile文件;
[0015]处理单元,用于基于所述编译工具对应的配置信息,确定目标数据管理服务器,并将所述profile文件和所述原始程序的描述信息,传输至所述目标数据管理服务器;以使所述目标数据管理服务器,对所述profile文件进行格式化处理,获得第一版本格式化文件,并将所述第一版本格式化文件,和所述原始程序对应的各历史版本格式化profile文件,进行关联保存;
[0016]优化单元,用于基于从所述目标数据管理服务器中获取的,所述第一版本格式化文件和至少一个历史版本格式化文件,对所述原始程序进行优化,获得相应的目标程序。
[0017]一方面,提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述优化程序编译的方法。
[0018]一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述优化程序编译的方法。
[0019]本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任意一种优化程序编译的方法。
[0020]本申请有益效果如下:
[0021]本申请实施例提供的优化程序编译的方法、装置、电子设备和存储介质,由于电子设备将原始程序的profile文件和原始程序的描述信息,传输至目标数据管理服务器,以使目标数据管理服务器,对profile文件进行格式化处理,获得第一版本格式化文件,并将第一版本格式化文件,和原始程序对应的各历史版本格式化profile文件,进行关联保存。这样,电子设备可以基于从目标数据管理服务器中获取的,第一版本格式化文件和至少一个历史版本格式化文件,对原始程序进行优化,获得相应的目标程序。
[0022]可见,本申请实施例中无需电子设备对原始程序的profile文件进行格式化处理,直接从目标数据关联服务器中,获取原始程序对应的第一版本格式化文件和至少一个历史版本格式化文件,对原始程序进行优化,从而获得相应的目标程序,提高程序优化编译的效率。
[0023]本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
[0024]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相
关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0025]图1为现有技术中的一种优化程序编译的流程示意图;
[0026]图2为本申请实施例中的一种应用场景的一个可选的示意图;
[0027]图3为本申请实施例中的一种优化程序编译的系统框架的一个可选的示意图;
[0028]图4为本申请实施例中的一种优化程序编译的方法的流程示意图;
[0029]图5为本申请实施例中的一种编译工具的功能的一个可选的示意图;
[0030]图6为本申请实施例中的一种生成配置文件的一个可选的示意图;
[0031]图7为本申请实施例中的一种生成配置文件的又一个可选的示意图;
[0032]图8为本申请实施例中的一种数据管理服务器对配置文件进行管理的示意图;
[0033]图9为本申请实施例中的一种获取历史版本格式化文件的示意图;
[0034]图10为本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种优化程序编译的方法,其特征在于,所述方法包括:采用编译工具对待编译代码文件进行编译,获得原始程序,并运行所述原始程序,获得所述原始程序的配置profile文件;基于所述编译工具对应的配置信息,确定目标数据管理服务器,并将所述profile文件和所述原始程序的描述信息,传输至所述目标数据管理服务器;以使所述目标数据管理服务器,对所述profile文件进行格式化处理,获得第一版本格式化文件,并将所述第一版本格式化文件,和所述原始程序对应的各历史版本格式化profile文件,进行关联保存;基于从所述目标数据管理服务器中获取的,所述第一版本格式化文件和至少一个历史版本格式化文件,对所述原始程序进行优化,获得相应的目标程序。2.如权利要求1所述的方法,其特征在于,所述运行所述原始程序,获得所述原始程序的配置profile文件,包括:在所述原始程序的运行过程中,响应于针对所述原始程序触发的截取指令,从所述原始程序对应的已生成的运行数据中,按照预设时长截取获得多个子数据;基于所述多个子数据,分别确定相应的部分profile文件;基于获得的多个部分profile文件,获得所述原始程序的配置profile文件。3.如权利要求2所述的方法,其特征在于,所述基于获得的多个部分profile文件,获得所述原始程序的配置profile文件,包括:基于所述多个子数据的截取顺序,确定所述多个部分profile文件的封装顺序;按照所述封装顺序,对所述多个部分profile文件进行封装,获得所述原始程序的配置profile文件。4.如权利要求1所述的方法,其特征在于,所述基于从所述目标数据管理服务器中获取的,所述第一版本格式化文件和至少一个历史版本格式化文件,对所述原始程序进行优化,获得相应的目标程序,包括:确定本地缓存中是否缓存有从所述目标数据管理服务器中获取过的格式化文件;当确定本地缓存中缓存有所述格式化文件时,对所述格式化文件进行信息摘要处理,获得相应的缓存摘要信息;基于所述缓存摘要信息,确定所述数据管理服务器中,存在匹配的目标摘要信息时,基于所述本地缓存中对应的格式化文件,和从所述数据管理服务器中获取的第一版本格式文件,对所述原始程序进行优化,获得相应的目标程序;其中,所述目标摘要信息为所述至少一个历史版本格式化文件对应的摘要信息。5.如权利要求4所述的方法,其特征在于,所述方法还包括:当确定本地缓存中未缓存所述格式化文件时,或者,当所述数据管理服务器中不存在匹配的目标摘要信息时;从所述目标数据管理服务器中,获取所述第一版本格式化文件和至少一个历史版本格式化文件;基于所述第一版本格式化文件和所述至少一个历史版本格式化文件,对所述原始程序进行优化,获得相应的目标程序。6.如权利要求1

5任一项所述的方法,其特征在于,所述采用编译工具对待编译代码文件进行编译之前,所述方法包括:
基于所述待编译代码文件的类型信息,确定与所述待编译代码文件对应的编译工具;其中,所述编译工具的配置信息至少包括数据管理服务器的地址信息和接口信息。7.一种优化程序编译的装置,其特征在于,所述装置包括:获得单元,用于采用编译工具对待编译代码...

【专利技术属性】
技术研发人员:周原王亚昌
申请(专利权)人:深圳市腾讯网域计算机网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1