Intel线程工具在工作时需要对用户代码进行重构(关于什么是重构请看我的另一个帖子:
http://topic.csdn.net/u/20080331/11/aaaf1372-a9ca-4183-8154-ad8e68eb6e63.html)。重构代码的加入会使你的比平常运行的更慢且占用更多的内存。为了提高工作效率我们通常在使用多线程工具时进行负荷缩减。
负荷缩减就是减少你的程序所要完成的工作量。可能的情况包括减少程序所处理的数据量和/或对每一块数据所作的操作。
这里有一些负荷缩减的例子:
-- 处理一幅32x24而不是1920x1440的图像。如果在处理图像的循环代码中存在线程错误的话,处理成千上万倍的数据并不能给你提供关于同一错误更多的信息。要找出一个线程错误几百次的循环就已经足够了,而且这样做1会提高线程检查器的工作效率。
-- 通过减少循环次数来模拟对每一块数据的处理次数降到最低。当使用英特尔线程检查器时你的程序并不需要很高的精度。毕竟你的目的是查出线程错误而不是得到高精度的结果。
-- 最小化视频刷新率和/或长度。试着使用仅一秒钟长度的视频,或者将显示刷新率降到每秒一帧而不是三十或更多。