[发明专利]程序运行方法、装置及计算机可读存储介质在审
申请号: | 202010146970.8 | 申请日: | 2020-03-05 |
公开(公告)号: | CN113360215A | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 张凯 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F9/50 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 王姗姗;张颖玲 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 运行 方法 装置 计算机 可读 存储 介质 | ||
本申请实施例提供一种程序运行方法、装置及计算机可读存储介质,其中,方法包括:获取待运行程序对应的函数集合;确定所述函数集合中的每一函数在进行函数调用时对应的频次;根据每一函数的所述频次,确定出用于加载所述函数集合中的函数且具有连续内存的页内存;将所述函数集合中的函数,依次加载到所述页内存中;按照所述页内存的地址,依次调用所述页内存中的函数,以实现运行所述待运行程序。通过本申请,能够使得调用频次较高的函数,能够被加载到同一页内存或近邻的页内存中而降低程序运行过程中寄存器的指令跳转幅度,从而显著降低程序的启动内存,提高程序运行速率。
技术领域
本申请实施例涉及互联网技术领域,涉及但不限于一种程序运行方法、装 置及计算机可读存储介质。
背景技术
随着产品给的需求越来越多,堆叠的功能也越来越复杂,整个应用的大小 也越来越大,而越来越多的功能则导致了越来越多的体验和性能问题,其中最 能直观影响用户的就是启动速度和加载速度。
目前,对启动速度和加载速度优化的方式,通常是减少不必要代码、懒加 载、利用多线程等来实现的,或者还可以采用二进制重排,将所有启动期间先 后执行的函数代码紧凑的排列在顺序的二进制中,使得寄存器的指令跳转幅度 大幅降低。
但是,目前的优化方式均是从代码加载速度和启动速度的角度优化,并不 能让单个物理页尽可能的加载更多的当前或下一条待执行的函数,因此无法进 一步提高程序的启动速度和加载速度。
发明内容
本申请实施例提供一种程序运行方法、装置及计算机可读存储介质,能够 在不涉及修改程序代码的前提下,完成程序的内存优化,可显著降低程序的启 动内存,提供程序的启动速度和加载速度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种程序运行方法,包括:
获取待运行程序对应的函数集合;
确定所述函数集合中的每一函数在进行函数调用时对应的频次;
根据每一函数的所述频次,确定出用于加载所述函数集合中的函数且具有 连续内存的页内存;
将所述函数集合中的函数,依次加载到所述页内存中;
按照所述页内存的地址,依次调用所述页内存中的函数,以实现运行所述 待运行程序。
本申请实施例提供一种程序运行装置,包括:
获取模块,用于获取待运行程序对应的函数集合;
第一确定模块,用于确定所述函数集合中的每一函数在进行函数调用时对 应的频次;
第二确定模块,用于根据每一函数的所述频次,确定出用于加载所述函数 集合中的函数且具有连续内存的页内存;
加载模块,用于将所述函数集合中的函数,依次加载到所述页内存中;
调用模块,用于按照所述页内存的地址,依次调用所述页内存中的函数, 以实现运行所述待运行程序。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引 起处理器执行时,实现上述的方法。
本申请实施例具有以下有益效果:由于在运行待运行程序之前,确定待运 行程序对应的函数集合中的每一函数在进行函数调用时对应的频次;并根据每 一函数的所述频次,确定出用于加载所述函数集合中的函数且具有连续内存的 页内存,这样,可以使得调用频次较高的函数,能够被加载到同一页内存或近 邻的页内存中而降低程序运行过程中寄存器的指令跳转幅度,从而显著降低程 序的启动内存,提高程序运行速率。
附图说明
图1是相关技术中二进制代码文本的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010146970.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:通信中心站的网络配置方法及设备
- 下一篇:医疗信息处理系统及方法