- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于??捌淅┱褂镅缘亩??饰?简介数据的剖析。本文首先描述了如何使用?瓾语言提供的功能,通过对源代码插桩??????述了对??镅缘囊恢质?莶⑿欣┱埂??语言的插桩?????????ぞ摺U馐刮颐?【摘要?绦蛴呕?翘岣叱绦蛟诵行?实闹匾2街瑁?绦蛳魑鍪浅绦蛴呕?牡谝徊健6杂诖?杏镅裕??丶?蔧剖析:性能分析:程序插桩个函数的所有的入口和出口点插入特定的代码.通过运行这些代码获得的数据,计算该程序·直接剖析∞???Ⅱ?在程序的运行时间里直接进行剖析码进行窨?觯??纾涸缙诘膗??饰龀绦騪???梢允迪帧澳:?饰觥盿阿???¨盯?杭粗幌?是.大部分并行语言的编译器都缺少这个功能,因为并行语言着重强调?是语言设计而不是第十届全国工程设计计算机?τ醚?趸嵋槁畚募?王华?夥啪?畔⒐こ檀笱Ъ扑慊?蒲?抵V?????绘??篠???喜??畁?程序剖析代码是由编译器通过一个命令行开关自动插入。但是,大部分并行语言编译器都不具有这个功能.本文以基于并行?语言的可移植的动态剖析程序?????为例,从两方面对该问题进行了论述:首先绘出了实现可移植动态削析程序的一般方法;然后重点描述了一个用于??插桩?????????ぞ摺?程序执行时间的长短是测量~个程序好坏的重要因索。大多数程序都是在一种时间非常精确的环境中运行,因而执行时问的长短是很重要的。然而,由于系统负载和其他条件的变化,精确的测定程序的执行时间是很困难的,更困难得是精确的指出程序中存在性能问题的部分。通常,函数削析是一个用于程序调试十分有价值的工具。所谓函数剖析,是指在每一对每个函数调用了多少次和每次调用花费多少时间。这些计算可以用两种方法来实现.因此,就有两种不同的动态剖析程序:·基于跟踪数据的剖析????産???????跟踪一个函数的所有的入口和出口点,根据事件跟踪结果进行计算。第二种剁析有利于进一步的程序分析,例如:实现程序的可视串行语言的编译器,特别的在??操作系统中,经常包括一个命令行选项,自动对源示该程序对每个函数调用了多少次和每次调用花费多少时间,后来????推出一个???程序?】。它除了可以完成??的任务外,还可以生成一个很长的列表.称为调用图表,它可以说明各函数如何相互之间调用和对于调用者来说每个函数调用要花费多少时间等等.但性能分析工具。在这里?颐墙樯芤桓龌?贑?并行语言的可移植性的动态的剖析程序。在该程序中,所有的程序转换均在??镅圆阃瓿桑?庵址椒?榛畈⑶冶阌谝浦玻凰?С种苯拥暮突?诟??进行剖析;接下来阐明如何使记录的剖析数据量根据程序特性在运行时间内发生变化。这个功能对大型并行系统十分有用,尤其对于限制记录的数据量的系统是很重要的。本文重点描广东·广州??苏铭化。’
曼±尘型堂坠兰堡丛燮壑?实┨貌樯?欢椴槿?可以在源程序级实现了插入所需的剖析代码。最后,本文还描述当前的??析和跟踪环境。?饰鯟?£查:£塑????一般方法这一节描述了削析?卜?镅曰駽?并行扩展语言程序的一般方法。为了确保了可移植性,我们将所有的程序变换都在语言层被完成,这样,剖析的意思是在一个程序的所有函数的入口和出口点插入特定的代码。由于在?瓾中声明语句和执行语句之间没有任何区别,所以,我们将用于记录过程入口的代码,作为第一条语句插入到函数中。相对函数入口来说,对出口的处理要困难一些,因为,出口往往不止一个.考虑下面的一个很小的例子????通常一个返回表达式可以为含有函数调用的任意表达式,并且在执行时需要花费很长时间。所以,我们不得不从返回语句??秂??中提取表达式,并且提前计算它的值,然后再处理剖析的出口代码,最后返回表达式的计算值。实际上,我们能够使用一个简单的技巧让??嘁肫骼醋稣飧龇彼龅墓ぷ鳌?梢韵壬??一个特定的类????????挥幸桓龉乖旌??鸵桓鑫龉购??H绻?颐巧?饕桓龈美?的类型变量作为一个对象,用作每一个被剖析的函数的第一行,那么它在每一次控制流到达定义时被初始化?饔霉乖旌??,在该块出口处被取消?饔梦龉购??。
一个函数的建立一个数值集,并定义一个结构用于保存剖析数据?醬???,哪?’?膗?∞???动态剖析??嗉?骺梢允迪肿孕姓?碓绰耄?⑶铱梢栽谡?返奈恢貌迦氲饔梦龉购??挠锞洹5?第十届全国工程设计计算机应用学术会议论文集然,也可以使用一个私有成员来存储在?????中使用函数名。以上描述的方法有两个主要的优点:●在源代码层进行插桩,可以提高可移植性。●能移通过为函数???????和???????峁┎煌?拇?耄?迪植煌?钠饰龀绦颍?这种方法非常灵活。目前,我们已经实现了两种方案的动态剖析程序·直接剖析:函数的剖析在程序运行时间被直接执行。为了实现它,我们为被剖折的每其声明?????????。接着使用了两个附加的成员。一个用于存储函数入口的时戳,另一个记录该函数的双亲函数?饔玫鼻昂??暮?
您可能关注的文档
最近下载
- 华东师大版八年级数学上册《作一个角等于已知角》教案及教学反思.docx VIP
- 【真题】河南省2025年对口升学(语文、英语)考试真题卷 完整版2025.pdf VIP
- 中心吸氧装置出现故障的应急预案.pptx VIP
- 13.4.2作一个角等于已知角展示课件数学八年级上册.pptx VIP
- 梦幻西游手游科举乡试会试答案大全 乡试答题器.pdf VIP
- QB∕T 5617-2021 单层床通用技术条件 .pdf
- 设备采购与管理作业指导书(设备采购类).doc VIP
- 2022 ASHRAE Handbook Refrigeration. SI edition标准原版完整.docx
- 教职工请假单(部门存根)(模板).pdf VIP
- 学校篮球比赛报名表的表格打印模板文档.xlsx VIP
文档评论(0)