当前位置: 首页 > 专利查询>微软公司专利>正文

用于收集并报告API性能剖析的自动化方法和系统技术方案

技术编号:5386936 阅读:180 留言:0更新日期:2012-04-11 18:40
一种测量应用程序编程接口(API)的性能的方法包括选择目标API并跟踪对应于所选API的函数调用的存储器分配以生成由该API调用的函数的列表。然后隔离地在该API中调用各个函数并且收集并记录对应于每个函数的定时和存储器分配数据。所记录的结果然后根据以2为底的对数方法进行分桶并且使该结果可由API用户访问以指示特定API的性能。

【技术实现步骤摘要】
【国外来华专利技术】用于收集并报告API性能剖析的自动化方法和系统背景与其他工程学科不同,软件工程师具有很少在作出设计决定时他们可咨询的关于定量信息方面的数据。不存在应用程序编程接口 (API)性能成本的综 合目录。在这种情况下,术语APr指的是如InvalidateRectAPI中的单个函数 而不是如可从华盛顿州雷蒙德市的微软⑧公司获得的Windows⑧操作系统 API中的函数家族。此外,该情形因大多数API不能使其成本由单个数字来表征的事实而复杂 化。成本可以按许多不同的方式来测量—诸如存储器使用、CPU使用、1/0成 本等等,并且它可取决于输入参数和上下文以及当然可用硬件。结果, 一般根 本没有做出表征API的性能的尝试。这将工程师置于在作出设计决定时没有可 用的先验指导的不幸境地。他们必须采取原型制作或更糟糕的但简单地猜测、 完全忽略成本考虑、或只是从最好的方面着想。后面的这些选项都太常见了。 因此,非常期望收集API数据以提供API性能或资源成本的有用的知识。因此期望收集对于API操作的高度精确的存储器分配和执行时间数据。一 个目的可以是将该数据提供给API消费者以使其作出关于特定API组件是否本文档来自技高网...

【技术保护点】
一种测量应用程序编程接口(API)的性能的方法,所述方法包括: (a)创建要测量的API的列表; (b)从所述列表中选择单个目标应用程序编程接口(API); (c)截取对所述目标API的调用并收集定时和存储器分配数据;   (d)记录对应于所述目标API的定时和存储器分配数据,所记录的数据被放置到存储中; (e)将所测量的结果合并成具有指示所收集的定时和存储器分配数据的以2为底的对数的分桶数据的结果表;以及 (f)对于所述列表上的每一个API重 复步骤(b)到(e)。

【技术特征摘要】
【国外来华专利技术】US 2006-6-16 11/454,7141.一种测量应用程序编程接口(API)的性能的方法,所述方法包括(a)创建要测量的API的列表;(b)从所述列表中选择单个目标应用程序编程接口(API);(c)截取对所述目标API的调用并收集定时和存储器分配数据;(d)记录对应于所述目标API的定时和存储器分配数据,所记录的数据被放置到存储中;(e)将所测量的结果合并成具有指示所收集的定时和存储器分配数据的以2为底的对数的分桶数据的结果表;以及(f)对于所述列表上的每一个API重复步骤(b)到(e)。2. 如权利要求1所述的方法,其特征在于,还包括 生成结果数据库并使得所述数据库对于API性能数据的用户可用。3. 如权利要求1所述的方法,其特征在于,还包括 经由图形用户界面使用对应于每一个函数的直方图来呈现所述结果表。4. 如权利要求1所述的方法,其特征在于,还包括 生成由所述目标API调用的函数的列表,所述列表包括包含从不同时出现在调用栈上的函数的无干扰函数;同时测量对应于多个无干扰函数的定时和存储器分配。5.如权利要求4所述的方法,其特征在于,还包括将所测量到的所述无干扰函数的执行结果合并成所述具有指示定时和存 储器分配数据的以2为底的对数的分桶数据的结果表。6.如权利要求5所述的方法,其特征在于,还包括经由图形用户界面使用对应于每一个函数的直方图来呈现所述结果表。7. 如权利要求1所述的方法,其特征在于,测量API性能的程序驻留在 多个用户计算机上,所述方法还包括-测试以査看存储中的所记录的数据是否超出阈值量;在未超出所述阈值量的情况下选择用户计算机中要对其测量存储器分配 和定时数据的另一API,并重复步骤(b)到(e);在存储中的所记录的数据超出所述阈值量的情况下将存储中的所记录的 数据提交给中央服务位置,所述中央服务位置具有存储中的API测量数据;在所述中央存储位置处将所提交的数据与所述存储中的API测量数据进 行聚集;以及生成结果数据库并使得所述数据库对于API性能数据的用户可用。8. 如权利要求1所述的方法,其特征在于,选择要对其测量存储器分配和 定时数据的API包括使用随机数生成器来选择目标API。9. 一种用于获取应用程序编程接口 (API)的性能数据的计算机系统,所 述系统包括执行软件指令的处理器,所述软件指令包括存储器分配剖析器模块,所述存储器分配剖析器模块测量并记录一函数由目标应用程序编程接口 (API)调用的次数,从而产生所述目标API的存储器 分配数据测量;定时剖析器模块,所述定时剖析器模块测量并记录与所述目标API有关的 定时信息,从而产生所述目标API的定时测量;协调模块,所述协调模块对于对所述目标API的每一个调用运行一次所述 存储器分配模块和所述定时剖析器模块,其中所述协调模块避免同...

【专利技术属性】
技术研发人员:N奎热拉R玛丽安尼MC范宁JS格雷
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1