Jam*_*ens 3 arrays performance gcc clang c++11
下面的代码显示了我的测试用例.我用clang ++ --std = c ++ 11 -O2和g ++ --std = c ++ 11 -O2编译了两者.
long long *ary = new long long[100000000]();
for (long long i = 0; i < 100000000; ++i)
ary[i] = i;
Run Code Online (Sandbox Code Playgroud)
std::vector<long long> vec(100000000, 0);
for (long long i = 0; i < 100000000; ++i)
vec[i] = i;
Run Code Online (Sandbox Code Playgroud)
对于我来说,我只进行了初始化测试,然后是初始化和for循环.结果如下:
GCC:
铛:
gcc结果与传统认为向量与数组一样快.而且,矢量的clang和gcc结果非常一致.然而,铿锵声的结果是荒谬的,阵列表现得相当快.任何人都知道为什么会这样?