Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб. 6 ТПО

.docx
Скачиваний:
4
Добавлен:
29.12.2024
Размер:
333.72 Кб
Скачать

Лабораторная работа №6

Тестирование производительности, профилирование приложений

Цель работы: Изучить основные методы тестирования производительности и профилирования многопоточных приложений

Задание

1

#include <iostream>

#include <vector>

#include <string>

#include <omp.h>

using namespace std;

void prime_factors(int n) {

//cout << "Простые множители числа " << n << ": ";

string a = "Простые множители числа ";

string n_s = to_string(n);

//printf("Простые множители числа %d: ", n);

a = a + n_s + ": ";

while (n % 2 == 0) {

//cout << 2 << " ";

//printf("2 ");

a = a + "2 ";

n /= 2;

}

for (int i = 3; i * i <= n; i += 2) {

while (n % i == 0) {

//cout << i << " ";

//printf("%d ", i);

string i_s = to_string(i);

a = a + i_s + " ";

n /= i;

}

}

if (n > 2) {

//cout << n << " ";

//printf("%d ", n);

string n2_s = to_string(n);

a = a + n2_s + " ";

}

//cout << endl;

//printf("\n");

a = a + "\n";

printf("%s", a.c_str());

}

int main() {

setlocale(LC_ALL, "Rus");

const int N = 100;

int num_threads = omp_get_max_threads();

int i;

#pragma omp parallel num_threads(num_threads)

{

#pragma omp for private(i)

for (i = 1; i <= N; ++i) {

prime_factors(i);

}

}

return 0;

}

2

3

4

5

Соседние файлы в предмете Тестирование программного обеспечения