诸如编译器的转换组件识别程序的注释并使用这些注释来提供优化推荐或生成经优化的代码以改进计算环境内的处理。注释被转换成转换阶段可识别的结构以生成更有效的代码或编译指示来提高性能。
Use program comments to provide optimization
【技术实现步骤摘要】
【国外来华专利技术】使用程序的注释来提供优化
一个或多个方面一般涉及计算环境内的处理,并且具体地涉及促进该处理。
技术介绍
计算环境内的处理包括执行计算机程序。计算机程序在要执行的任务中指示计算机。其由程序员使用人类可读编程语言编写,产生源代码。源代码是计算机指令的集合,并且可以包括描述计算机指令和/或计算机程序的其它方面的注释。使用例如编译器将人类可读源代码转换成机器可读代码。编译器将源代码转换成计算机可理解的目标代码或机器代码。在转换源代码时,编译器忽略可能存在于源代码中的注释。
技术实现思路
根据本专利技术的一个方面,选择注释不被忽略,而是例如在编译程序时被考虑。选择注释包括在提供推荐以改进程序和/或其它处理时和/或在生成改进的程序代码时可能有用的信息。通过提供一种用于促进计算环境内的处理的计算机程序产品,克服了现有技术的缺点,并提供了附加的优点。计算机程序产品包括可由处理电路读取并且存储用于执行方法的指令的计算机可读存储介质。例如,该方法包括由计算环境的处理器的转换组件获得一个或多个编码注释,该一个或多个编码注释将要由转换组件在提供一个或多个优化以优化计算环境内的处理中使用。该一个或多个编码注释包括被确定为具有将要提供给转换组件的信息并且被编码以提供该一个或多个编码注释的计算机程序的一个或多个注释。转换组件使用一个或多个编码注释来优化计算环境内的处理。通过使用编码注释来优化处理,性能得到改善。作为一个示例,使用一个或多个编码注释来优化处理包括在将计算机程序的代码转换成机器可读代码时使用一个或多个编码注释。机器可读代码包括基于一个或多个编码注释的一个或多个代码优化。代码优化改进了代码,这进一步改进了计算环境内的处理。作为另一示例,使用一个或多个编码注释来优化处理包括使用一个或多个编码注释来生成指示将要对计算机程序做出以优化处理的一个或多个改变的报告。通过生成报告,可以改变计算机程序,改进代码,并因此改进计算环境内的处理。在一个实施例中,基于获得一个或多个编码注释来构建结构。该结构包括多个节点,并且该多个节点包括用于计算机程序的一个或多个程序组件的一个或多个节点以及用于一个或多个编码注释的一个或多个节点。这便于在编译代码时包括某些优化。作为示例,获得一个或多个编码注释包括从处理器的预处理组件获得一个或多个编码注释。预处理组件确定计算机程序的将要被保留以供转换组件使用的一个或多个注释,并且对该一个或多个注释进行编码以提供该一个或多个编码注释。例如,确定将要保留的一个或多个注释包括确定一个或多个注释满足置信度阈值,该置信度阈值指示一个或多个注释被预测为具有在优化处理中有用的信息。例如,编码包括针对一个或者多个注释中的注释提供针对注释的优化代码和一个或者多个参数,以提供编码注释。作为示例,预处理组件是转换组件的一部分,或者与转换组件分离但耦合到转换组件。本文还描述并要求保护与一个或多个方面相关的计算机实现的方法和系统。此外,本文还描述并要求保护与一个或多个方面相关的服务。通过本文所述的技术实现了额外的特征和优点。其它实施例和方面在本文中详细描述,且被视为所要求的方面的一部分。附图说明在说明书结尾处的权利要求中作为示例特别指出并清楚地要求了一个或多个方面。从结合附图的以下详细描述中,一个或多个方面的前述和目的、特征和优点将变得显而易见,在附图中:图1示出了结合和使用本专利技术的一个或多个方面的计算环境的示例;图2描述了根据本专利技术的一方面使用的编译器的各个阶段的示例;图3A描述了根据本专利技术的一方面执行的预处理阶段的示例;图3B描绘了根据本专利技术的一方面使用的编译阶段的示例;图4A-4B示出了根据本专利技术的一方面的促进计算环境内的处理的实施例;图5A描绘了用于结合和使用本专利技术的一个或多个方面的计算环境的另一示例;图5B描述了图5A的存储器的进一步细节;图6描绘了云计算环境的实施例;以及图7描绘了抽象模型层的示例。具体实施方式根据本专利技术的一个方面,提供了用于指示转换组件识别源代码中的选择程序注释而不是忽略它们的能力。在本文的实施例中,转换组件是编译器;然而,在其它实施例中,转换组件可以是翻译器或提供机器可读代码的其它组件。已知程序注释用作文档辅助。然而,根据本专利技术的一个方面,已经观察到程序注释可以提供关于程序的函数、循环、分支子句、语句和/或其它方面的有用信息,这些信息不能由分析器或其它性能分析工具直接确定。然而,该信息仅停留在程序中而不被利用,因为编译器在编译过程期间不将注释作为活动实体来处理。注释被作为空白空格来处理,并在编译的词汇分析阶段之外被丢弃。因此,根据本专利技术的一个方面,提供了识别可由编译器使用的注释并处理注释作为程序的其它组件的能力。在一个示例中,提供了经修改的编译器,其将这些注释转换成可由编译器阶段识别的结构,使得编译器可生成更高效的代码。该能力还包括将注释转换成编译器标志或编译指示(pragma)(编译指示是编译器的指示;嵌入在源代码中以向编译器指示意图的数据),其可以用于在任何适用的情况下改进程序性能。这种能力可以帮助标记挖掘技术,其花费大量资源来确定最佳标记组以编译给定程序。通过提供有效的代码,促进并改进了计算机内的处理。由高效代码提供的优化改进了计算环境内的处理。本文描述了各个方面。此外,在不背离本专利技术的各方面的精神的情况下,许多变化是可能的。应当注意,除非以其它方式不一致外,否则本文所述的每个方面或特征及其变型可与任何其它方面或特征组合。参见图1描述结合和使用本专利技术的一个或多个方面的计算环境的实施例。在一个示例中,计算环境基于由纽约州阿蒙克市的国际商业机器公司(InternationalBusinessMachinesCorporation)提供的z/架构(z/Architecture)。z/架构的一个实施例在IBM公开案第SA22-7832-10号(2015年3月)“z/架构工作原理(z/ArchitecturePrinciplesofOperation)”中进行描述。Z/ARCHITECTURE是美国纽约州阿蒙克市国际商业机器公司的注册商标。在另一示例中,计算环境基于由纽约州阿蒙克市国际商业机器公司提供的Power架构。Power架构的一个实施例在国际商业机器公司2015年4月9日的“PowerISATM版本2.07B”中进行描述。POWERARCHITECTURE是美国纽约州阿蒙克市国际商业机器公司的注册商标。计算环境还可基于其它架构,包括但不限于英特尔x86架构。也存在其它示例。如在图1中所示,计算环境100包括例如计算机系统102,计算机系统102以通用计算设备的形式示出。计算机系统102可包括但不限于经由一个或多个总线和/或其它连接110彼此耦接的一个或多个处理器或处理单元104(例如,中央处理单元(CPU))、存储器106(例如,也称为系统存储器、主存储器、主存、本文档来自技高网...
【技术保护点】
1.一种促进计算环境内的处理的计算机实现的方法,所述计算机实现的方法包括:/n由所述计算环境的处理器的转换组件获得将要由所述转换组件在提供一个或多个优化以优化所述计算环境内的处理中使用的一个或多个编码注释,所述一个或多个编码注释包括被确定为具有将要被提供给所述转换组件的信息并且被编码以提供所述一个或多个被编码注释的计算机程序的一个或多个注释;以及/n由所述转换组件使用所述一个或多个编码注释来优化所述计算环境内的处理。/n
【技术特征摘要】
【国外来华专利技术】20171110 US 15/809,0921.一种促进计算环境内的处理的计算机实现的方法,所述计算机实现的方法包括:
由所述计算环境的处理器的转换组件获得将要由所述转换组件在提供一个或多个优化以优化所述计算环境内的处理中使用的一个或多个编码注释,所述一个或多个编码注释包括被确定为具有将要被提供给所述转换组件的信息并且被编码以提供所述一个或多个被编码注释的计算机程序的一个或多个注释;以及
由所述转换组件使用所述一个或多个编码注释来优化所述计算环境内的处理。
2.根据权利要求1所述的计算机实现的方法,其中,使用所述一个或多个编码注释来优化处理包括:在将所述计算机程序的代码转换成机器可读代码时使用所述一个或多个编码注释。
3.根据权利要求1所述的计算机实现的方法,其中,使用所述一个或多个编码注释来优化处理包括:使用所述一个或多个编码注释来生成指示将要对所述计算机程序做出以优化处理的一个或多个改变的报告。
4.根据权利要求1所述的计算机实现的方法,其中,所述获得所述一个或多个编码注释包括:从所述处理器的预处理组件获得所述一个或多个编码注释,并且其中所述方法还包括:
由所述预处理组件确定所述计算机程序的将要被保留以供所述转换组件使用的所述一个或多个注释;以及...
【专利技术属性】
技术研发人员:A·拉文达尔,U·魏甘德,S·瓦迪亚,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。