【发布时间】:2014-05-22 13:43:19
【问题描述】:
我正在编写一个程序,尝试使用 SSE 和 AVX SIMD 指令加速 Top K 过滤算法。 我正在使用带有标志 -o3、-msse3 和 -lrt 的 icc 编译我的程序,运行时间约为 30 毫秒。但是,当我在末尾添加 -g 标志以使用 vtune 或 gdb 时,程序运行所需的时间会跳到 ~ 100 毫秒。
有人可以解释为什么会发生这种情况吗?我很困惑为什么 -g 会改变程序的编译。
【问题讨论】:
-
你如何衡量执行时间?
-
我认为是
-O3(大写字母)?否则,icc 默认为 -O2,除非存在 -g,在这种情况下,它默认为 -O0。
标签: gcc icc compiler-flags intel-vtune mmx