#include #include #include #include #include #include #include "pch.h" using namespace std::chrono; struct MyStruct { int value; //int padding[15]; }; int main(int argc, char** argv) { MyStruct testArr[4]; int value[4] = {}; omp_set_num_threads(4); double start_time = omp_get_wtime(); #pragma omp parallel for for (int i = 0; i < 4; i++) { testArr[i].value = 0; for (int j = 0; j < 10000; j++) { #pragma omp critical testArr[i].value = testArr[i].value + 1; } } std::cout << "testArr value 1: " << testArr[0].value << std::endl; std::cout << "testArr value 2: " << testArr[1].value << std::endl; std::cout << "testArr value 3: " << testArr[2].value << std::endl; std::cout << "testArr value 4: " << testArr[3].value << std::endl; double time = omp_get_wtime() - start_time; std::cout << "Execution Time: " << time << std::endl; return 0; }