У меня проблемы с пониманием, как это возможно. У меня длинный текстовый файл (десять тысяч строк), я читаю его в переменную text в виде строки. Я хотел бы разделить его на 200 частей. Я написал этот код с использованием директив openMP:
std::string str[200];
omp_set_num_threads(200);
#pragma omp parallel
{
#pragma omp for
for (int i=0;i<200;i++)
{
str[i]= text.substr(i*(text.length()/200),text.length()/200);
}
}
, и его время выполнения составляет 231059 нас
, если я напишу его как последовательность
for (int i=0;i<200;i++)
{
str[i]= text.substr(i*(text.length()/200),text.length()/200);
}
время выполнения равно215902us
Я использую openMP неправильно или что здесь происходит