当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

Intel C++ 9.0编译器优化效果测试[VC/C++编程]

赞助商链接



  本文“Intel C++ 9.0编译器优化效果测试[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

摘 要 本文主要针对Intel C++ 9.0编译器在Visual C++ 6.0环境下对一些常用的功效性操作的优化作用举行了测试考证.主要从对采取编译器前后的程序运行时间举行对比来举行判断.测试范围主要集合于对线程的切换时间,转非常以及非常恢复时间,高优先级线程抢先时间以及信号量呼应时间方面.此外,还对一些常用的数学函数的运行时间举行了测试对比.得出的测试数据和结论能对采取此编译器的用户有一定的参考代价和鉴戒作用.

关键词 Intel C++,Visual C++,编译器,优化

引言

当今很多计算机利用范畴,如天色预报、信号处理以及军事上的弹道跟踪等,它们对程序处理速度的要求都是相当高的.不然就会招致后果呈现毛病大概失去其意义.要提高程序的运算速度,普通通过以下几个方面的改良办法来举行:(1)采取新的处理速度更快的硬件设备,如更快的CPU,更大的内存,以及更快的I/O设备等.但这明显会招致本钱的大量增添,并非是一种合适于任何单位的实际的改良办法.(2)越发优化的程序计划办法,如在程序中引入多线程、并行等处理办法.这是一种对比有效的办法,当然对程序计划人员以及编程人员的水平有更高的要求.(3)采取一些优化软件,这也是一种简便有效的办法.别的假如和其他两种办法配合利用,关于一些要求大幅度提高处理速度的场所下,也将是非常有帮忙的.

采取优化型编译器就属于上面介绍的第三种办法.处理器由于受数据相关、条件转移和资源冲突等缘由,指令级并行度遭到极大的限制.通过优化编译器对指令序摆列行重组,以及采取软件与硬件相结合的办法处理数据相关、条件转移和资源冲突等,可以大大提高处理器的指令级并行度,使在一按时间内可发射尽大概多的指令数.别的,优化编译器还能按照处理器中先行指令窗口的大小,把没有数据相关、掌握相关和功效部件冲突,大概冲突和相关对比少的指令调度到同一个先行指令窗口中,使这些指令超越它前面的指令先发射到操作部件中去,从而提高功效部件的操纵率,这样就可以进一步提高处理器的性能.

普通来说,实现程序的优化调度需求软件(主如果编译器)和硬件的共同结合才能得到对比好的调度效果.Intel C++ 编译器作为一款专门针对Intel 型处理器举行优化的编译器,它们二者的结合从理论上能实现优化调度,能对程序的履行效能有某些方面和一定程度的提高.测试中处理器应挑选Intel系列的产品,实际利用的处理器为Intel 奔腾4处理器(1.8GHZ),内存为256MB;操作系统考虑通用性和遍及性,为Windows XP系统,编程环境为Visual C++ 6.0.

线程额外开销测试

针对越来越多的多线程编程利用,线程间的开销诸如线程间的切换时间、高优先级线程的抢先时间以及线程对信号量的呼应时间等指标成为制约程序履行速度的一个重要方面.削减线程的额外开销时间对提高程序的运行速度是非常有意义的.

1、测试指标

这里主要包含四个测试指标,(1)线程的切换时间.(2)高优先级线程的抢先时间.(3)信号量呼应时间.(4)线程转非常以及非常恢复时间.

2、测试办法

测试中,启动的线程开始无条件循环运行.以对指标(1)的测试为例,循环中只举行运行次数累加和线程切换的操作,无其他附加操作,直至给出完毕事件,终止线程并给出线程的运行次数和时间.测试的计算后果都是在忽视线程本身的开销的情形下得出的,这里线程自身所耗费的时间通过测试对比占总耗费的时间的比例是非常小的,对计算后果没有太大的影响.别的若在线程中加入对线程本身开销的统计,将会引入其他的操作,一样会有一定的时间开销,仍旧会有偏差存在.测试中对每一个测试项目皆举行五次反复测试,对得出的五个值取平均.

3、测试流程

这里的测试流程以对指标(1)的测试为例以流程图的情势加以阐明,背面三项的测试与此类似.

4、测试步骤

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 线程切换时间测试流程


  以上是“Intel C++ 9.0编译器优化效果测试[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 网络设备通过win7的虚拟wifi衔接internet的办法
  • Intel 酷睿i5 3450处理器能不能超频 怎么操作?
  • Windows7快速同享Internet无线网络衔接
  • Windows 7快速同享Internet无线网络衔接
  • 把Internet暂时文件夹移到其他位置
  • 电脑上的Internet时间同步出错办理办法
  • 举荐:配置Intel酷睿I5魔兽专用机只需人民币4000元
  • 教大家怎样卸载Internet Explorer 9浏览器?
  • <b>数据库复制技术在Internet上的实现</b>
  • Java IDE实用对比:Eclipse、NetBeans、IntelliJ
  • <b>Struts2文件上传(二) 深化FileUploadInterceptor</b>
  • Eclipse NetBeans IntelliJ的实用对比
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .