LEI-Xiongwei 除了虚拟化会引入无法预计的性能变化外,这个 benchmark 输出结果所用的时间显著大于计算的时间,所以没有意义。
我弄了一个
#include <stdio.h>
#define N 100000000
int main()
{
static int a[N], b[N], c[N];
asm("":"=m"(a), "+m"(b));
for (int i = 0; i < N; i++)
c[i] = a[i] + b[i];
asm(""::"m"(c));
}
硬件上开 -mlsx 0.20 秒,不开 0.23 秒。