相关疑难解决方法(0)

在C++中使用数组或std :: vectors,性能差距是多少?

在我们的C++课程中,他们建议不再在新项目中使用C++数组.据我所知,Stroustroup本人建议不要使用数组.但是有显着的性能差异吗?

c++ arrays vector

197
推荐指数
9
解决办法
16万
查看次数

为什么C++乘法与动态数组比std :: vector版更好

我正在为具有不同数据结构和技术(向量,数组和OpenMP)的矩阵实现C++乘法,我发现了一个奇怪的情况......我的动态数组版本运行得更好:

时间:

openmp mult_1:time:5.882000 s

array mult_2:time:1.478000 s

我的编译标志是:

/ usr/bin/g ++ -fopenmp -pthread -std = c ++ 1y -O3

C++矢量版

typedef std::vector<std::vector<float>> matrix_f;
void mult_1 (const matrix_f &  matrixOne, const matrix_f & matrixTwo, matrix_f & result) {
    const int matrixSize = (int)result.size();
    #pragma omp parallel for simd
    for (int rowResult = 0; rowResult < matrixSize; ++rowResult) {
        for (int colResult = 0; colResult < matrixSize; ++colResult) {
            for (int k = 0; k < matrixSize; ++k) {
                result[rowResult][colResult] += …
Run Code Online (Sandbox Code Playgroud)

c++ arrays matrix openmp c++11

9
推荐指数
1
解决办法
773
查看次数

标签 统计

arrays ×2

c++ ×2

c++11 ×1

matrix ×1

openmp ×1

vector ×1