[发明专利]软件性能优化方法、可存储介质、计算机、计算机程序有效
| 申请号: | 201711499169.6 | 申请日: | 2017-12-29 |
| 公开(公告)号: | CN108197027B | 公开(公告)日: | 2021-07-16 |
| 发明(设计)人: | 唐华;蔡智 | 申请(专利权)人: | 广州景派科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 夏艳 |
| 地址: | 510663 广东省广州市高新技术产业*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 性能 优化 方法 存储 介质 计算机 程序 | ||
1.一种软件性能优化方法,其特征在于,所述软件性能优化方法将整个程序循环以外能够并行化的语句进行并行化,采用程序依赖性分析,判定语句间的控制流依赖关系和数据流依赖关系;
所述软件性能优化方法具体包括:
第一步,二进制代码转换成中间语言,提取程序依赖关系;将二进制代码翻译成为容易处理的中间语言,二进制代码由指令集决定,当前主流的指令集有:x86、x64、arm、PowerPC、MIPS;
第二步,没有依赖关系的语句归于一类,得到多个行并行执行运行组;
第三步,不同的运行组划分到不同的运算组件上,重新生成二进制代码;
所述软件性能优化方法具体包括:
步骤一,将二进制代码翻译成为中间语言;
步骤二,从中间语言代码中提取程序依赖关系,包括控制流依赖和数据流依赖并形成程序依赖图;
步骤三,将没有依赖关系的语句分为不同的组;
步骤四,二进制重写,经过分组处理的语句写入并行执行单元中,生成并行二进制文件;
所述步骤三具体包括:
第一步,搜索程序依赖图,找到所有的叶子节点;
第二步,根据程序依赖图,从当前运行组节点向下回溯,直到分叉节点为止,并将回溯到的节点划分到同一个运行组;
第三步,在每个分叉点位置判断是否其依赖的语句全部执行完,如果不是则等待,如果是则将分叉点的状态设置为就绪,并把分叉点归到一个新的运行组;
第四步,判断当前节点是否为程序依赖图的根节点,如果不是,则返回第二步,如果是,则分组完毕。
2.一种如权利要求1所述软件性能优化方法的软件性能优化系统,其特征在于,所述软件性能优化系统包括:
翻译模块,用于将二进制代码翻译成为中间语言;
提取模块,用于从中间语言代码中提取程序依赖关系;将二进制代码翻译成为容易处理的中间语言,二进制代码由指令集决定,当前主流的指令集有:x86、x64、arm、PowerPC、MIPS;
分组模块,没有依赖关系的语句归于一类,得到多个行并行执行运行组;用于将没有依赖关系的语句分为不同的组;具体包括:
搜索程序依赖图,找到所有的叶子节点;
根据程序依赖图,从当前运行组节点向下回溯,直到分叉节点为止,并将回溯到的节点划分到同一个运行组;
在每个分叉点位置判断是否其依赖的语句全部执行完,如果不是则等待,如果是则将分叉点的状态设置为就绪,并把分叉点归到一个新的运行组;
判断当前节点是否为程序依赖图的根节点,如果不是,则返回第二步,如果是,则分组完毕;
重写模块,不同的运行组划分到不同的运算组件上,重新生成二进制代码;用于经过分组处理的语句写入并行执行单元中,生成并行二进制文件。
3.一种应用权利要求1所述软件性能优化方法的计算机。
4.一种存储有权利要求1所述软件性能优化方法的可存储介质,其特征在于,所述可存储介质为ROM只读存储器、RAM可读写存储器、EPROM可编程存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州景派科技有限公司,未经广州景派科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711499169.6/1.html,转载请声明来源钻瓜专利网。





