Intel C++ 9.0编译器优化效果测试

摘 要 本文主要针对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 线程切换时间测试流程

时间: 2024-09-13 10:45:51

Intel C++ 9.0编译器优化效果测试的相关文章

MySQL手册版本 5.0.20-MySQL优化(一)

mysql|优化 7 MySQL 优化 数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行.尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的效果更好,那么就需要对它了解更多才行. 本章主要讲解了几种优化MySQL的方法,并且给出了例子.记着,总有各种办法能让系统运行的更快,当然了,这需要更多的努力. 7.1 优化概述 让系统运行得快得最重要因素是数据库基本的设计.并且还必须清楚您的系统要用来做什么,以及存在的瓶颈. 最常见的系统瓶颈有以下几种: 磁盘搜索.

GCC编译器优化选项分析及具体优化了什么

问题 在使用gcc作为编译器.在设定编译条件时,在debug模式下生成的程序正常,但是在release模式下往往会出现很多种预料之外的结果,尤其在嵌入式环境中,程序在板子上运行的时候,问题就愈发明显. 为了了解具体为什么造成该问题,对两种模式下的配置做了对比 debug模式编译器参数为-O0 -g –Wall release模式编译器参数为-O2 -g –Wall 通过对比可以发现两种模式主要的不同在于编译器优化程度不同,那么编译器在两种优化下究竟做了什么优化那?现在我们来看看gcc编译器的优化

Atom手机助推器:Intel发布安卓C++编译器

Intel近日宣布,面向安卓系统的C++ Compiler编译器已经推出(版本号13.0.1.020),开发者可以籍此在Linux操作系统上创建支持Intel Atom手机的安卓应用.Intel表示,该编译器兼容GNU C++以及安卓原生开发包(NDK)中的开发工具,可以大大改善应用性能. 这款编译器的开发环境支持Ubuntu 10.04/11.04,面向安卓4.x ICS/JB平台,支持安卓NDK r8e或更新版本. 限时免费下载(45MB): http://registrationcente

降低Cache失效率--编译器优化

PS<<EOF 之前看了酷壳上 @我的上铺叫路遥 投稿的"七个示例科普CPU Cache",其实没认真看完! 丫的,我翻阅了一下<计算机系统结构>的书,把cache那章阅读了下! 发现了新大陆,对自己当时学到的知识的领悟和体会似乎有了新的感受!计算机专业课,其实我都挺认真的学过的,哈哈,只不过...... 我把我觉得有用的摘录下!! 为什么好多那么些开源滴优秀滴代码读不懂咧, 语言不熟练和算法素养很低是一方面, 其实还有好多方面-偶还是太菜了- EOF 降低Ca

杜比专业视频效果测试校正仪

美国拉斯维加斯,2012年4月16日杜比实验室(纽约证交所代码:DLB)今日宣布杜比?专业视频效果测试校正仪增加支持以48帧/秒拍摄的内容.该校正仪已经能够支持60帧/秒,此次增加对48帧/秒的支持是其新功能的一部分,旨在强化内容创作过程并降低后期制作中的拥有成本.新功能的软件更新计划将于本周起启动. 导演彼得·杰克逊(Peter Jackson)和詹姆斯·卡梅隆(James Cameron)都倡导48帧/秒的数字电影内容捕捉和显示.由杜比和阿莱(ARRI?)共同制作的一部48帧/秒的高动态范围

达到良好的网站优化效果需要注意的十点小结_网站应用

要达到良好的网站优化效果,除了要保证足够的高质量原创内容及广泛建立连接提高Link Popularity外,对网页进行充分的优化更是必需的,很多时候,其重要性远远超出其他.以下部分按其对优化效果影响度自大至小排列. Title 标签 网站优化在HTML语句中包含在 之间的内容,用来概括页面的基本内容.在用户浏览网页时Title显示在浏览器窗口的上方,而在SERP页面中,Title更是决定用户是否点击该页面的主要因素. 内容中的关键词 网站优化网页文本中包含的用户搜索时输入的关键词,这方面的优化包

关乎网站优化效果的几个重要因素分析

很多初学网站优化的,都为能在百度或者谷歌上获得一个比较理想的排名而大伤脑筋.甚至,为了优化效果"短平快",不惜采取黑帽作弊方法而导致网站被K.做为一路摸索前行者,从业网站建设六年,多少有些感慨.下面我们就结合笔者公司网站,逐一分析一下网站优化的几个重要且关键的因素. 一.合适的域名 网站域名的选择往往被很多人忽视,很多人在选域名的时候,往往多从公司名称入手或者公司的商标入手.这样的选择无可厚非,但是如果能结合自己所从事的行业或者经营的产品,结合日后准备优化的一些关键词,效果自然岂不更好

网站SEO优化效果可以通过哪些考核标准来衡量

网站SEO优化工作对网站的建设和推广起着很大的作用,但是这有一个前提,就是网站SEO的效果必须要有成效.拿到一个网站,对于网站SEO优化的效果,必须有一个更加明确合理的考核标准,才能保证在进行网站SEO的过程中的优化效果.在此,小编为您介绍一下衡量网站SEO优化效果的几种考核标准. 标准一:流量增长量化 网站通过SEO优化,在一段时间之后一般来说会为网站带来一定的流量,而这流量就是一种考核标准,原则上,流量会随着网站的优化,除偶尔会出现反复之外,大致的趋势是不断上升的.根据不同网站规模.不同行业

确定优化思路,转变优化效果

目前的搜索引擎自然排名优化,处于一种困境之中.如百度近期推出的<外链判断>规则,有效的规范网站的外链建设方面.也产生了相应的连带效应,如站长论坛取消了论坛签名.从而,使许多前期做站长论坛签名外链的优化人员,受到了一定的打击性.这只是其中的现象之一,许多让站长苦逼的事项,就不一一的列举啦.如今,站长需要的是怎样有效的摆脱,使网站优化的效果回归到正常. 往前的优化方法,也许显得有些粗暴.如随意性的去发布一些外链信息,不管是否有相应的关联性,但能够被搜索引擎所收录.而目前的搜索引擎,已经认识到这一点