首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

VC6、VC2010、C#2010、VB6跟MMX、SSE指令集 运算性能大比拼(64位像素转32位像素)。请大家帮忙测试

2013-01-09 
VC6、VC2010、C#2010、VB6和MMX、SSE指令集 运算性能大比拼(64位像素转32位像素)。请大家帮忙测试请大家帮忙做

VC6、VC2010、C#2010、VB6和MMX、SSE指令集 运算性能大比拼(64位像素转32位像素)。请大家帮忙测试





请大家帮忙做一下测试,看看其他硬件环境下的性能。

测试程序下载——
http://files.cnblogs.com/zyl910/noif_Test.rar
http://dl.dbank.com/c069c6thd7

[解决办法]
我来拿分的,上个  Intel parallel studio 2011 xe 版本的编译器的测试




源代码,是你的 
【深入探讨用位掩码代替分支(4):VC2010速度测试 】
http://blog.csdn.net/zyl910/article/details/7403497

没有任何改动源代码


Intel parallel studio 2011 xe + 最新的 update ...
编译器选项:  (默认的选项,然后,在 属性里面的优化选项,
+ 使用了qxhost---使用本机最高支持的sse的版本,
其它的qvec等,一大堆选项,还没试。。。。

/Zi /nologo /W3 /O2 /Oi /Ot /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc /GS /Gy /fp:precise /QxHost /Zc:wchar_t /Zc:forScope /Fp"x64\Release\noifVC2010.pch" /FAs /Fa"x64\Release" /Fo"x64\Release" /Fd"x64\Release\vc100.pdb" 

== noif:VC2010(64) on 64bit ==<Press any key to continue>
f0_if[1]:906
f0_if[2]:872
f0_if[3]:879
f1_min[1]:274
f1_min[2]:274
f1_min[3]:271
f2_neg[1]:437
f2_neg[2]:441
f2_neg[3]:442
f3_sar[1]:410
f3_sar[2]:367
f3_sar[3]:366
<Press any key to exit>


下面的是,VC 2010 的默认设置。
/Zi /nologo /W3 /WX- /O2 /Oi /Ot /GL /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm- /EHsc /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Fp"x64\Release\noifVC2010.pch" /FAs /Fa"x64\Release" /Fo"x64\Release" /Fd"x64\Release\vc100.pdb" /Gd /errorReport:queue 
== noif:VC2010(64) on 64bit ==<Press any key to continue>
f0_if[1]:1443
f0_if[2]:1440
f0_if[3]:1428
f1_min[1]:1553
f1_min[2]:1575
f1_min[3]:1554
f2_neg[1]:383
f2_neg[2]:380
f2_neg[3]:385
f3_sar[1]:246
f3_sar[2]:245
f3_sar[3]:246
<Press any key to exit>



[解决办法]
引用:
我来拿分的,上个  Intel parallel studio 2011 xe 版本的编译器的测试


Assembly code

没有任何改动源代码

你拿vc2010默认的(没开mmx、sse)的和intel并行编辑器默认的(开了sse的)比,根本没得比。
vc支持sse2优化。开了就会更快。vc11beta还支持avx优化
vc的Optimization选项里面用Full Optimization、Favor Fast Code,还要在Code Generation选项里面,Enable Enhanced Instruction Set里面选优化指令集的类型。
自己可以想,vc6都支持的优化,到了更新的vc版本反而不支持了,这个本身就有问题。
[解决办法]
VC2010的/arch:SSE2选项基本是个摆设,它只是告诉编译器允许使用到SSE2指令集,不是必须的,很多情况下根本不生成SSE指令。

热点排行