[发明专利]提供关联关系并执行代码优化的方法和装置有效
申请号: | 201110252353.7 | 申请日: | 2011-08-30 |
公开(公告)号: | CN102955712A | 公开(公告)日: | 2013-03-06 |
发明(设计)人: | 邹嘉;范伟;侯锐;M·沃斯特;王艳琦;孙正雅 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 周良玉;于静 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提供 关联 关系 执行 代码 优化 方法 装置 | ||
1.一种提供关联关系以供代码优化的方法,包括:
获取与第一代码的执行相关的性能采样数据,该性能采样数据包括与所述第一代码对应的指令的信息和与所述指令对应的性能缺陷事件的信息;
根据所述性能采样数据,构建至少一个指令序列,并确定所述至少一个指令序列与性能缺陷事件之间的关联关系;以及
将所述关联关系提供给其他物理平台,以供在该其他物理平台上基于所述关联关系执行第二代码的优化。
2.如权利要求1所述的方法,其中所述性能采样数据基于执行第一代码时产生的采样日志而形成。
3.如权利要求1所述的方法,其中所述确定至少一个指令序列与性能缺陷事件之间的关联关系包括:
统计所述至少一个指令序列的出现次数;
统计所述至少一个指令序列对应的性能缺陷事件的出现次数;以及
基于以上统计的指令序列的出现次数和性能缺陷事件的出现次数的比例,确定至少一个指令序列与性能缺陷事件之间的关联关系。
4.如权利要求3所述的方法,还包括:根据所述至少一个指令序列的出现次数选择出频繁出现的指令序列,并且所述统计至少一个指令序列对应的性能缺陷事件的出现次数具体为,仅仅统计所述频繁出现的指令序列所对应的性能缺陷事件的出现次数。
5.如权利要求1所述的方法,其中所述确定至少一个指令序列与性能缺陷事件之间的关联关系包括:
选择出现频率较高的指令序列;
基于信息熵对指令序列进行聚类;
结合性能缺陷事件的统计选择有辨识度的聚类;以及
对选择的序列聚类进行进一步划分,直到达到预定的条件。
6.如权利要求5所述的方法,其中所述预定的条件包括以下中的至少一项:所划分的组中的指令序列的数量小于第一特定阈值、指令序列与性能缺陷事件的关联度达到第二特定阈值。
7.一种执行代码优化的方法,包括:
获取根据权利要求1-6中任一方法所提供的关联关系;以及
根据所述关联关系,确定第二代码对应的性能缺陷事件;
基于确定的性能缺陷事件,优化第二代码。
8.如权利要求7所述的方法,其中所述获取关联关系包括:经由关联关系共享平台获取所述关联关系。
9.如权利要求7所述的方法,其中确定第二代码对应的性能缺陷事件包括:
扫描第二代码,生成与第二代码对应的指令序列;
将生成的指令序列与获得的关联关系进行匹配;
根据所述关联关系,确定匹配的指令序列所对应的性能缺陷事件。
10.如权利要求7所述的方法,其中所述优化第二代码包括通过以下方式中的至少一项来消除或减少性能缺陷事件:
调整第二代码的执行顺序;
向第二代码添加额外的指令代码。
11.一种提供关联关系以供代码优化的装置,包括:
采样数据获取单元,配置为获取与第一代码的执行相关的性能采样数据,该性能采样数据包括与所述第一代码对应的指令的信息和与所述指令对应的性能缺陷事件的信息;
关联关系确定单元,配置为根据所述性能采样数据,构建至少一个指令序列,并确定所述至少一个指令序列与性能缺陷事件之间的关联关系;以及
关联关系提供单元,配置为将所述关联关系提供给其他物理平台,以供在该其他物理平台上基于所述关联关系执行第二代码的优化。
12.如权利要求11所述的装置,其中所述性能采样数据基于执行第一代码时产生的采样日志而形成。
13.如权利要求11所述的装置,其中所述关联关系确定单元配置为:
统计所述至少一个指令序列的出现次数;
统计所述至少一个指令序列对应的性能缺陷事件的出现次数;以及
基于以上统计的指令序列的出现次数和性能缺陷事件的出现次数的比例,确定至少一个指令序列与性能缺陷事件之间的关联关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110252353.7/1.html,转载请声明来源钻瓜专利网。