【技术实现步骤摘要】
【国外来华专利技术】用于改进程序性能的字段专业化系统和方法
本专利技术通常涉及用于改进计算机程序性能的字段专业化,更具体地涉及通过利用至少部分地基于所识别的不变间隔生成的专用代码来识别变量的不变间隔并修改DBMS代码来改进数据库管理系统的性能的系统和方法。
技术介绍
数据库管理系统(DBMS)是管理数据的存储和访问的软件程序的集合。由于现在正在生成更大量的数据,因此数据必须进行存储并可高效地访问,所以在各种应用领域都采用了DBMS。在过去四十年中,由这种无处不在的部署所驱动的,已经基于通常适用于这些领域的一些数据模型对DBMS进行了设计和工程化。关系数据模型是商业和开源DBMS中最常用的模型之一。已经投入了大量的精力来有效地支持这一数据模型。由于关系数据模型的通用性,关系数据库管理系统本身是通用的,因为它们可以处理用户指定的任何模式以及向其呈现的任何查询或修改。关系运算符基本上对任何关系都起作用,并且必须处理根据潜在关系的任何属性指定的谓词。通过诸如有效的索引结构、创新的并发控制机制和复杂的查询优化策略等创新,今天可用的关系DBMS是非常有效的。这种通用性和效率使得他们在许多领域扩散和应用。然而,这种通用性是通过多层的间接性和复杂的代码逻辑实现的。通过利用在执行此类系统期间存在的不变值,可进一步提高DBMS的效率。本申请中公开的字段专业化技术的开发是为了自动识别不变量并基于不变量实现代码专业化。
技术实现思路
本专利技术的实施方式提供了用于改进数据库管理系统(DBMS)的性能的系统和方法。简而言之,该方法的一个实施方式特别地可以如下实施。用于改进DBMS性能的计算机实施方法包括以 ...
【技术保护点】
一种用于改善计算机程序代码的性能的计算机实现方法,包括:基于程序表示(PR),即抽象语法树或计算机程序代码的其它实施方式,识别计算机程序代码中的变量的不变间隔;根据PR和计算机程序的生态系统规范推导出计算机程序内的程序交互;基于PR、用于计算机程序代码中的变量的识别的不变间隔以及推导的程序交互来推导域断言;基于计算机程序代码中的变量的不变间隔、PR、与计算机程序相关联的一个或多个执行概要、推导出的程序交互和推导出的域断言来识别一个或多个候选片段;基于一个或多个候选片段生成专用的计算机程序代码;以及基于生成的专用计算机程序代码修改计算机程序代码;以及隐藏专用的计算机程序代码。
【技术特征摘要】
【国外来华专利技术】2015.04.02 US 62/142,325;2015.12.14 US 14/968,8271.一种用于改善计算机程序代码的性能的计算机实现方法,包括:基于程序表示(PR),即抽象语法树或计算机程序代码的其它实施方式,识别计算机程序代码中的变量的不变间隔;根据PR和计算机程序的生态系统规范推导出计算机程序内的程序交互;基于PR、用于计算机程序代码中的变量的识别的不变间隔以及推导的程序交互来推导域断言;基于计算机程序代码中的变量的不变间隔、PR、与计算机程序相关联的一个或多个执行概要、推导出的程序交互和推导出的域断言来识别一个或多个候选片段;基于一个或多个候选片段生成专用的计算机程序代码;以及基于生成的专用计算机程序代码修改计算机程序代码;以及隐藏专用的计算机程序代码。2.根据权利要求1所述的计算机实现方法,其特征在于以下特征中的一个或两个:(a)其中所识别的不变间隔跨越多个执行;以及(b)其中所识别的不变间隔包括用于特定变量的不变间隔的至少一个集合,其中所述集合中的所有不变间隔共享相同的起始节点。3.根据权利要求1或2所述的计算机实现方法,其中所述一个或多个候选片段中的每一个包括(a)由所述PR识别的代码间隔,或(b)一组不变量和一组每个变量的可能值。4.根据权利要求1-3中任一项所述的计算机实现方法,其中所述一个或多个候选片段中的每一个包括所述候选片段的适当使用期限,并且其中所述一个或多个候选片段中的每一个优选地包括在候选片段的适当使用期限内采用的建议优化。5.根据权利要求1-4中任一项所述的计算机实现方法,其中生成专用计算机程序代码包括(a)在所述计算机程序内的适当位置插入代码以创建所述专用计算机程序代码,从而调用所述专用计算机程序代码并破坏专用计算机程序代码,或者(b)创建用于将任意字符串与给定字符串模式相匹配的专用函数,或者包括使用元指定器遍历解释数据结构和使用热插拔来转换现有的专用计算机程序代码,或涉及查询,或包括消除计算机程序代码中的分支,从而减小计算机程序代码的大小,或者包括利用数值来平均分配字段指定器(Spiff)数据段,其中然后通过在计算机程序代码内的所有输入行计算相应的聚合函数来重新使用Spiff数据段,以消除每行的存储器分配,其中数值由每行可支持的数字最大位数定义,或者包括利用存储计算机程序的磁盘或存储器页面内的不变量来重新组织页面读取后的数据布局,并优化数据局部性。6.根据权利要求1-5中任一项所述的计算机实现方法,其中所述专用计算机程序代码在运行时创建并在稍后调用,并且可选地还包括确定在给定的执行中是否出现所识别的不变间隔的任何违规。7.一种配置为改善计算机程序的性能的系统,包括:不变量探测器,基于计算机程序的程序表示(PR),确定计算机程序中的变量的不变间隔;交互推导器,基于PR和计算机程序的生态系统规范...
【专利技术属性】
技术研发人员:理查德·T·斯诺德格拉斯,索木亚·K·德布雷,张瑞,斯蒂芬·托马斯,肖恩·梅森,
申请(专利权)人:数据仓库投资有限公司,代表亚利桑那大学的亚利桑那董事会,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。