我一直在尝试加速在C ++应用程序中执行非常耗时的计算(在我的测试用例中,它在结果完成之前运行大约10到15分钟)。此应用程序在Win32和WindowsCE 6上运行(在具有Atom处理器的目标上)。
为了优化生成的代码,我在VC ++ 2008中启用了SSE2指令(编译器选项' / arch:SSE2')。
我检查了一些生成的.cod文件并验证了两个目标的代码是否相同,与更改前的代码不同,并且确实包含SSE指令。
奇怪的是,在Windows 7(在台式机和Atom主板上)运行时,的速度增加了约25%,但绝对没有明显差异在Windows CE(相同的Atom板)上运行时。所有测试均使用发布版本完成。
我无法弄清问题可能是什么。有没有人有任何线索或类似的经历? CE6是在做某事(或者没做什么?)来阻止代码以最佳速度执行?