- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Intel C++ 9.0编译器优化效果测试_计算机论文.doc
Intel C++ 9.0编译器优化效果测试_计算机论文
Intel C++ 9.0编译器优化效果测试_计算机论文
摘 要 本文主要针对Intel C++ 9.0编译器在Visual C++ 6.0环境下对一些常用的功能性操作的优化作用进行了测试验证。主要从对采用编译器前后的程序运行时间进行比较来进行判断。测试范围主要集中于对线程的切换时间,转异常以及异常恢复时间,高优先级线程抢先时间以及信号量响应时间方面。此外,还对一些常用的数学函数的运行时间进行了测试比较。得出的测试数据和结论能对采用此编译器的用户有一定的参考价值和借鉴作用。
关键词 Intel C++,Visual C++,编译器,优化
1 引言
当今许多计算机应用领域,如天气预报、信号处理以及军事上的弹道跟踪等,它们对程序处理速度的要求都是相当高的。否则就会导致结果出现偏差或者失去其意义。要提高程序的运算速度,一般通过以下几个方面的改进措施来进行:(1)采用新的处理速度更快的硬件设备,如更快的CPU,更大的内存,以及更快的I/O设备等。但这显然会导致成本的大量增加,并非是一种适合于任何单位的实际的改进措施。(2)更加优化的程序设计方法,如在程序中引入多线程、并行等处理方法。这是一种比较有效的方法,当然对程序设计人员以及编程人员的水平有更高的要求。(3)采用一些优化软件,这也是一种简便有效的方法。另外如果和其他两种方法配合使用,对于一些要求大幅度提高处理速度的场合下,也将是非常有帮助的。
采用优化型编译器就属于上面介绍的第三种方法。处理器由于受数据相关、条件转移和资源冲突等原因,指令级并行度受到极大的限制。通过优化编译器对指令序列进行重组,以及采用软件与硬件相结合的方法处理数据相关、条件转移和资源冲突等,可以大大提高处理器的指令级并行度,使在一定时间内可发射尽可能多的指令数。另外,优化编译器还能根据处理器中先行指令窗口的大小,把没有数据相关、控制相关和功能部件冲突,或者冲突和相关比较少的指令调度到同一个先行指令窗口中,使这些指令超越它前面的指令先发射到操作部件中去,从而提高功能部件的利用率,这样就能进一步提高处理器的性能。
一般来讲,实现程序的优化调度需要软件(主要是编译器)和硬件的共同结合才能获得比较好的调度效果。Intel C++ 编译器作为一款专门针对Intel 型处理器进行优化的编译器,它们二者的结合从理论上能实现优化调度,能对程序的执行效能有某些方面和一定程度的提高。测试中处理器应选择Intel系列的产品,实际使用的处理器为Intel 奔腾4处理器(1.8GHZ),内存为256MB;操作系统考虑通用性和广泛性,为Windows XP系统,编程环境为Visual C++ 6.0。
2 线程额外开销测试
针对越来越多的多线程编程应用,线程间的开销诸如线程间的切换时间、高优先级线程的抢先时间以及线程对信号量的响应时间等指标成为制约程序执行速度的一个重要方面。减少线程的额外开销时间对提高程序的运行速度是非常有意义的。
2.1 测试指标
这里主要包括四个测试指标,(1)线程的切换时间。(2)高优先级线程的抢先时间。(3)信号量响应时间。(4)线程转异常以及异常恢复时间。
2.2 测试方法
测试中,启动的线程开始无条件循环运行。以对指标(1)的测试为例,循环中只进行运行次数累加和线程切换的操作,无其他附加操作,直至给出结束事件,终止线程并给出线程的运行次数和时间。测试的计算结果都是在忽略线程本身的开销的情况下得出的,这里线程自身所花费的时间通过测试比较占总花费的时间的比例是非常小的,对计算结果没有太大的影响。另外若在线程中加入对线程本身开销的统计,将会引入其他的操作,同样会有一定的时间开销,仍然会有误差存在。测试中对每一个测试项目皆进行五次重复测试,对得出的五个值取平均。
2.3 测试流程
这里的测试流程以对指标(1)的测试为例以流程图的形式加以说明,后面三项的测试与此相似。
2.4 测试步骤
2.4.1 线程切换时间测试的基本步骤
(1)创建两个相同优先级的线程1和2。
(2)运行线程1得到线程1的当前运行次数后,立即切换到线程2。
(3)运行线程2得到线程2的当前运行次数后,立即切换到线程1。
(4)重复第2步和第3步,直到给出结束事件。
(5)得到2至4步所花费的全部时间和两线程分别的运行次数。
(6)计算线程间的切换时间。
这里设所花费的时间为emplasedtime,分别运行的次数为runcount1和runcount2,则切换时间为emplasedtime/ (runcount1+runcount2-1)。以下几项与此类似。
图1 线程切换时间测试流程
2.4.2 高优先级线程抢先时间测试的基本步骤
(1)创建两个不同优先级的
您可能关注的文档
- (信息化教育电子绩效支持系统ITEEPSS)的设计与实现_计算机论文.doc
- .Net平台下并行工程项目规划与团队组织系统的设计与实现_计算机论文.doc
- 08-16SP4MF型捣固车操作概述_电子机械论文.doc
- 10t半沸腾锅炉烟尘高效处理技术_工程建筑论文.doc
- 1992lxm工业蒸汽锅炉的自动化控制过程与实现_工程建筑论文.doc
- 2011年中国企业计算需求展望虚拟化-客户端计算与云计算_计算机网络论文.doc
- 214线退化性多年冻土地区试验路设计_工程建筑论文.doc
- 21世纪中国医院信息化及其对策_计算机论文.doc
- 21世纪制冷空调行业绿色环保制冷剂的趋势与展望_工程建筑论文.doc
- 21世纪岩土工程发展展望_工程建筑论文.doc
- INTERNET AND INFORMATION TECHNOLOGY ADAPTATION FOR QUALITY EDUCATION _计算机网络论文.doc
- Internet时代的网络出版_计算机网络论文.doc
- Internet防火墙技术综述_计算机网络论文.doc
- Introversion and Extroversion_计算机网络论文.doc
- Investigation of group dynamics and interactions in synchronous networked learning _计算机网络论文.doc
- IPSec与和NAT兼容性问题的研究_计算机网络论文.doc
- IPv6网络建设初探 _计算机网络论文.doc
- IP传真的分析与改进_计算机论文.doc
- IP多媒体子系统——IMS技术与应用 _计算机论文.doc
- IP溯源技术研究_计算机论文.doc
文档评论(0)