[发明专利]用于经由编程者注释执行异构数据结构选择的方法、系统和制品在审
申请号: | 202010994839.7 | 申请日: | 2020-09-21 |
公开(公告)号: | CN113094092A | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | J·高茨克里奇 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/73 | 分类号: | G06F8/73 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉;何焜 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 经由 编程 注释 执行 数据结构 选择 方法 系统 制品 | ||
公开了经由编程者注释执行异构数据结构选择的方法、设备、系统和制品。示例设备包括:阶段跟踪器,用于标识第一阶段和第二阶段;成本预测器,用于估计与第一阶段和第二阶段内的各个类型的数据结构交互的交互成本;树构造器,用于构造与第一数据结构类型相对应的树,该树包括第一阶段的第一节点、第二阶段的第二节点和连接第一节点和第二节点的边,第二节点表示不同于第一数据结构类型的第二数据结构类型;转换成本计算器,用于计算边的转换成本;以及分支选择器,用于基于组合的交互成本和转换成本来选择数据结构的序列。
技术领域
本公开总体上涉及代码开发,并且更具体地涉及用于经由编程者注释执行异构数据结构选择的方法、系统和制品。
背景技术
数据结构(DS)是一种可用于逻辑地表示数据的存储的软件构造。可以在数据结构上执行不同的操作,例如,插入数据、删除数据、访问数据、移动数据等。编程者在通用编程(诸如C/C++)中使用数据结构。数据结构的类型很多,包括例如,数组、向量、链表、二叉树和哈希图。数据结构充当软件系统的基本构建块,并且通常影响软件程序的整体效率。
附图说明
图1是根据本公开的教导构造以选择数据结构的示例数据结构选择系统的示意性图示。
图2是图1的示例数据结构选择器的示意性图示。
图3是表示可以被执行以实现图1的示例系统和/或图1和/或图2的示例数据结构选择器的示例机器可读指令用于选择数据结构的流程图。
图4是可由图1和/或图2的示例数据结构选择器识别的示例注释的图示。
图5是表示可以被执行以实现图1的示例系统和/或图1和/或图2的示例数据结构选择器的示例机器可读指令用于学习注释语义的流程图。
图6是表示可以被执行以实现图1的示例系统和/或图1和/或图2的示例数据结构选择器的示例机器可读指令用于选择数据结构的流程图。
图7是表示在程序执行的整个阶段中不同类型的数据结构之间的变化的示例树结构的图。
图8是被构造用于执行图3、图4和/或图6中的指令以实现图1的示例数据结构选择系统和/或图1和/或图2的示例数据结构选择器的示例处理平台的框图。
这些图并未按比例绘制。一般来说,贯穿(多个)附图和所附书面说明书,相同的附图标记将用于表示相同或相似的部分。
当标识可被分别引用的多个要素或组件时,本文使用描述符“第一”、“第二”、“第三”等。除非基于它们的使用上下文另有规定或理解,否则此类描述符并非旨在赋予优先级、物理次序或列表中的布置、或者时间顺序的任何含义,而仅仅是为了便于理解所公开的示例而用作分别指代多个要素或组件的标签。在一些示例中,描述符“第一”可以用于指代详细描述中的要素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代相同的要素。在此类情况下,应当理解,此类描述符仅用于易于引用多个要素或组件。
具体实施方式
数据结构充当软件系统的基本构建块,并且通常影响软件程序的整体效率。由于存在许多不同类型的数据结构,因此许多编程者(包括专家级编程者)选择对于特定软件问题最有效的数据结构的选择标准容易出错。例如,编程者用于选择特定数据结构的传统计算复杂度分析技术可提供对数据结构性能的粗略近似。而且,此类复杂度分析(即,大O符号(Big O()notation))不考虑计算机微体系结构的效率影响。进一步地,许多编程者可能不是数据结构计算分析方面的专家,并且因此使用可以合理地处理大多数问题、但对几乎所有问题都不是最优的广义数据结构。
在一些示例中,编程者可能错误地选择了他们最熟悉和/或最轻松的数据结构的类型,从而导致(多个)软件程序虽然功能健全,但在计算上却没有尽可能地高效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010994839.7/2.html,转载请声明来源钻瓜专利网。